<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kinetis Bootloader: Flash_driver_api</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kinetis Bootloader
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   <div id="projectbrief">Common bootloader for Kinetis devices</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Introduction</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__flash__driver__api.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">Flash_driver_api</div>  </div>
</div><!--header-->
<div class="contents">
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Collaboration diagram for Flash_driver_api:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<center><table><tr><td><div class="center"><iframe scrolling="no" frameborder="0" src="group__flash__driver__api.svg" width="447" height="210"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</td></tr></table></center>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:structflash__execute__in__ram__function__config__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver.html#structflash__execute__in__ram__function__config__t">flash_execute_in_ram_function_config_t</a></td></tr>
<tr class="memdesc:structflash__execute__in__ram__function__config__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flash execute-in-ram function information.  <a href="group__flash__driver.html#structflash__execute__in__ram__function__config__t">More...</a><br /></td></tr>
<tr class="separator:structflash__execute__in__ram__function__config__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structflash__config__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a></td></tr>
<tr class="memdesc:structflash__config__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flash driver state information.  <a href="group__flash__driver.html#structflash__config__t">More...</a><br /></td></tr>
<tr class="separator:structflash__config__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:unionstandard__version__t"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bl__core.html#unionstandard__version__t">standard_version_t</a></td></tr>
<tr class="memdesc:unionstandard__version__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure of version property.  <a href="group__bl__core.html#unionstandard__version__t">More...</a><br /></td></tr>
<tr class="separator:unionstandard__version__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structstandard__version__t_8____unnamed____"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bl__core.html#structstandard__version__t_8____unnamed____">standard_version_t.__unnamed__</a></td></tr>
<tr class="separator:structstandard__version__t_8____unnamed____"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structstandard__version__t_8_b"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bl__core.html#structstandard__version__t_8_b">standard_version_t.B</a></td></tr>
<tr class="separator:structstandard__version__t_8_b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structflash__driver__interface__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#structflash__driver__interface__t">flash_driver_interface_t</a></td></tr>
<tr class="memdesc:structflash__driver__interface__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the flash driver.  <a href="group__context.html#structflash__driver__interface__t">More...</a><br /></td></tr>
<tr class="separator:structflash__driver__interface__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structbootloader__tree__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#structbootloader__tree__t">bootloader_tree_t</a></td></tr>
<tr class="memdesc:structbootloader__tree__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Root of the bootloader API tree.  <a href="group__context.html#structbootloader__tree__t">More...</a><br /></td></tr>
<tr class="separator:structbootloader__tree__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga67c22466713ef09903b07a56e1c2a050"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga67c22466713ef09903b07a56e1c2a050"></a>
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga67c22466713ef09903b07a56e1c2a050">flash_callback_t</a>) (void)</td></tr>
<tr class="memdesc:ga67c22466713ef09903b07a56e1c2a050"><td class="mdescLeft">&#160;</td><td class="mdescRight">callback type used for pflash block <br /></td></tr>
<tr class="separator:ga67c22466713ef09903b07a56e1c2a050"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga2105f5de393a06479e62141dab8dd3fc"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga2105f5de393a06479e62141dab8dd3fc">flash_margin_value_t</a> { <br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga2105f5de393a06479e62141dab8dd3fca9071189977c1f756d42d710288cfb6be">kFLASH_MarginValueNormal</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga2105f5de393a06479e62141dab8dd3fca1c1271a7e38d4e062e202730f6a5ebed">kFLASH_MarginValueUser</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga2105f5de393a06479e62141dab8dd3fcadc331ba6a0e6de26eb5c1e755136608d">kFLASH_MarginValueFactory</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga2105f5de393a06479e62141dab8dd3fcaa297e7607bb0ccefbe181d1f1d828deb">kFLASH_MarginValueInvalid</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga2105f5de393a06479e62141dab8dd3fca9071189977c1f756d42d710288cfb6be">kFLASH_MarginValueNormal</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga2105f5de393a06479e62141dab8dd3fca1c1271a7e38d4e062e202730f6a5ebed">kFLASH_MarginValueUser</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga2105f5de393a06479e62141dab8dd3fcadc331ba6a0e6de26eb5c1e755136608d">kFLASH_MarginValueFactory</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga2105f5de393a06479e62141dab8dd3fcaa297e7607bb0ccefbe181d1f1d828deb">kFLASH_MarginValueInvalid</a>
<br />
 }<tr class="memdesc:ga2105f5de393a06479e62141dab8dd3fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for supported flash margin levels.  <a href="group__flash__driver__api.html#ga2105f5de393a06479e62141dab8dd3fc">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga2105f5de393a06479e62141dab8dd3fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga00b3eb2666116e617f6e45a10218f6a9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga00b3eb2666116e617f6e45a10218f6a9">flash_security_state_t</a> { <br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga00b3eb2666116e617f6e45a10218f6a9ad48939abe53a98896541d2ee1e7bf752">kFLASH_SecurityStateNotSecure</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga00b3eb2666116e617f6e45a10218f6a9a4c4da1c4c06977cc999930f75f38ecc7">kFLASH_SecurityStateBackdoorEnabled</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga00b3eb2666116e617f6e45a10218f6a9a5c7043f3abad4e8d65f12179c4636dc2">kFLASH_SecurityStateBackdoorDisabled</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga00b3eb2666116e617f6e45a10218f6a9ad48939abe53a98896541d2ee1e7bf752">kFLASH_SecurityStateNotSecure</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga00b3eb2666116e617f6e45a10218f6a9a4c4da1c4c06977cc999930f75f38ecc7">kFLASH_SecurityStateBackdoorEnabled</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga00b3eb2666116e617f6e45a10218f6a9a5c7043f3abad4e8d65f12179c4636dc2">kFLASH_SecurityStateBackdoorDisabled</a>
<br />
 }<tr class="memdesc:ga00b3eb2666116e617f6e45a10218f6a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for the three possible flash security states.  <a href="group__flash__driver__api.html#ga00b3eb2666116e617f6e45a10218f6a9">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga00b3eb2666116e617f6e45a10218f6a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9378245c649eebea9451367d6b8f9ce2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga9378245c649eebea9451367d6b8f9ce2">flash_protection_state_t</a> { <br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga9378245c649eebea9451367d6b8f9ce2ace4690203221c04a4e00de6278a59f1e">kFLASH_ProtectionStateUnprotected</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga9378245c649eebea9451367d6b8f9ce2a2c73fefaf7e6e3a065744be1aab71149">kFLASH_ProtectionStateProtected</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga9378245c649eebea9451367d6b8f9ce2aca2ca63f9c507495e7b0f510b69497bb">kFLASH_ProtectionStateMixed</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga9378245c649eebea9451367d6b8f9ce2ace4690203221c04a4e00de6278a59f1e">kFLASH_ProtectionStateUnprotected</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga9378245c649eebea9451367d6b8f9ce2a2c73fefaf7e6e3a065744be1aab71149">kFLASH_ProtectionStateProtected</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga9378245c649eebea9451367d6b8f9ce2aca2ca63f9c507495e7b0f510b69497bb">kFLASH_ProtectionStateMixed</a>
<br />
 }<tr class="memdesc:ga9378245c649eebea9451367d6b8f9ce2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for the three possible flash protection levels.  <a href="group__flash__driver__api.html#ga9378245c649eebea9451367d6b8f9ce2">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga9378245c649eebea9451367d6b8f9ce2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad38961e5692f64548dbf84d652b9ccde"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#gad38961e5692f64548dbf84d652b9ccde">flash_execute_only_access_state_t</a> { <br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggad38961e5692f64548dbf84d652b9ccdea38101c1bc20b060f8fa2f5ac43a04f66">kFLASH_AccessStateUnLimited</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggad38961e5692f64548dbf84d652b9ccdeae275896979de1eca572ae3c7449148f1">kFLASH_AccessStateExecuteOnly</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggad38961e5692f64548dbf84d652b9ccdea0b22f0d8b1f43e064f04d12659293c38">kFLASH_AccessStateMixed</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggad38961e5692f64548dbf84d652b9ccdea38101c1bc20b060f8fa2f5ac43a04f66">kFLASH_AccessStateUnLimited</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggad38961e5692f64548dbf84d652b9ccdeae275896979de1eca572ae3c7449148f1">kFLASH_AccessStateExecuteOnly</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggad38961e5692f64548dbf84d652b9ccdea0b22f0d8b1f43e064f04d12659293c38">kFLASH_AccessStateMixed</a>
<br />
 }<tr class="memdesc:gad38961e5692f64548dbf84d652b9ccde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for the three possible flash execute access levels.  <a href="group__flash__driver__api.html#gad38961e5692f64548dbf84d652b9ccde">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gad38961e5692f64548dbf84d652b9ccde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b6766fe08a63cf92a5e2a90dd6d010f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga7b6766fe08a63cf92a5e2a90dd6d010f">flash_property_tag_t</a> { <br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010faa6c433411ecb4bfea9d74504e266e219">kFLASH_PropertyPflashSectorSize</a> = 0x00U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa68caa1558315b7704b08d85c42869eb5">kFLASH_PropertyPflashTotalSize</a> = 0x01U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fad8c3b85ca1dc8fc5ef03e1954aef873e">kFLASH_PropertyPflashBlockSize</a> = 0x02U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fabb40541593520b9c1a87648a26e81957">kFLASH_PropertyPflashBlockCount</a> = 0x03U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa0159abfba4e6ca47c70a89ea2fc24ab9">kFLASH_PropertyPflashBlockBaseAddr</a> = 0x04U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa82ed61ee8b06813070ded3e06675e07c">kFLASH_PropertyPflashFacSupport</a> = 0x05U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fab1ff313c13a7c4c9794c97d894c784d1">kFLASH_PropertyPflashAccessSegmentSize</a> = 0x06U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fad73e31438b9bf8ea5d95e4807371e414">kFLASH_PropertyPflashAccessSegmentCount</a> = 0x07U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa9ca389a1c885600feb6900b0d34f7c14">kFLASH_PropertyFlexRamBlockBaseAddr</a> = 0x08U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa062cdf2d78e722b71b6037eb6f60cbf4">kFLASH_PropertyFlexRamTotalSize</a> = 0x09U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa51190ea2cbee3594588931079b0c7fc6">kFLASH_PropertyDflashSectorSize</a> = 0x10U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa4a988286f54bb8572af9487870bbb32c">kFLASH_PropertyDflashTotalSize</a> = 0x11U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa4229b9f10be15a5169dc4b6e011536e3">kFLASH_PropertyDflashBlockSize</a> = 0x12U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fad6ce4a3ff01396a5d61fdba8bbd2bb9d">kFLASH_PropertyDflashBlockCount</a> = 0x13U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa8ec2b47abac2083b760dd47d9bebcde0">kFLASH_PropertyDflashBlockBaseAddr</a> = 0x14U, 
<br />
&#160;&#160;<b>kFLASH_PropertyEepromTotalSize</b> = 0x15U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010faa6c433411ecb4bfea9d74504e266e219">kFLASH_PropertyPflashSectorSize</a> = 0x00U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa68caa1558315b7704b08d85c42869eb5">kFLASH_PropertyPflashTotalSize</a> = 0x01U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fad8c3b85ca1dc8fc5ef03e1954aef873e">kFLASH_PropertyPflashBlockSize</a> = 0x02U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fabb40541593520b9c1a87648a26e81957">kFLASH_PropertyPflashBlockCount</a> = 0x03U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa0159abfba4e6ca47c70a89ea2fc24ab9">kFLASH_PropertyPflashBlockBaseAddr</a> = 0x04U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa82ed61ee8b06813070ded3e06675e07c">kFLASH_PropertyPflashFacSupport</a> = 0x05U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fab1ff313c13a7c4c9794c97d894c784d1">kFLASH_PropertyPflashAccessSegmentSize</a> = 0x06U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fad73e31438b9bf8ea5d95e4807371e414">kFLASH_PropertyPflashAccessSegmentCount</a> = 0x07U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa9ca389a1c885600feb6900b0d34f7c14">kFLASH_PropertyFlexRamBlockBaseAddr</a> = 0x08U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa062cdf2d78e722b71b6037eb6f60cbf4">kFLASH_PropertyFlexRamTotalSize</a> = 0x09U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa51190ea2cbee3594588931079b0c7fc6">kFLASH_PropertyDflashSectorSize</a> = 0x10U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa4a988286f54bb8572af9487870bbb32c">kFLASH_PropertyDflashTotalSize</a> = 0x11U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa4229b9f10be15a5169dc4b6e011536e3">kFLASH_PropertyDflashBlockSize</a> = 0x12U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fad6ce4a3ff01396a5d61fdba8bbd2bb9d">kFLASH_PropertyDflashBlockCount</a> = 0x13U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fa8ec2b47abac2083b760dd47d9bebcde0">kFLASH_PropertyDflashBlockBaseAddr</a> = 0x14U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fab3520a58d0f8494d3d7e987d30cee6ed">kFLASH_PropertyEepromTotalSize</a> = 0x15U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga7b6766fe08a63cf92a5e2a90dd6d010fab97130fd3296506b436e5ded0313ce33">kFLASH_PropertyVersion</a> = 0x20U
<br />
 }<tr class="memdesc:ga7b6766fe08a63cf92a5e2a90dd6d010f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for various flash properties.  <a href="group__flash__driver__api.html#ga7b6766fe08a63cf92a5e2a90dd6d010f">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga7b6766fe08a63cf92a5e2a90dd6d010f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae76bb8924742f0483f66c4d3917bb31e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#gae76bb8924742f0483f66c4d3917bb31e">_flash_execute_in_ram_function_constants</a> { <br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggae76bb8924742f0483f66c4d3917bb31ea44c47300abac0defba3c515df8d531cd">kFLASH_ExecuteInRamFunctionMaxSize</a> = 64U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggae76bb8924742f0483f66c4d3917bb31ea2e18b9dc426a3146df8f959c1c874ce0">kFLASH_ExecuteInRamFunctionTotalNum</a> = 2U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggae76bb8924742f0483f66c4d3917bb31ea44c47300abac0defba3c515df8d531cd">kFLASH_ExecuteInRamFunctionMaxSize</a> = 64U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggae76bb8924742f0483f66c4d3917bb31ea2e18b9dc426a3146df8f959c1c874ce0">kFLASH_ExecuteInRamFunctionTotalNum</a> = 2U
<br />
 }<tr class="memdesc:gae76bb8924742f0483f66c4d3917bb31e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constants for execute-in-ram flash function.  <a href="group__flash__driver__api.html#gae76bb8924742f0483f66c4d3917bb31e">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gae76bb8924742f0483f66c4d3917bb31e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga70d45ebc64d50e9868f7016c8a417c51"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga70d45ebc64d50e9868f7016c8a417c51">flash_read_resource_option_t</a> { <br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga70d45ebc64d50e9868f7016c8a417c51a80bd0a5fe1432c2a97a3bd8e4a5320ab">kFLASH_ResourceOptionFlashIfr</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga70d45ebc64d50e9868f7016c8a417c51a900b2f3a7dbd7260d7883fe9fa816c6d">kFLASH_ResourceOptionVersionId</a> = 0x01U, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga70d45ebc64d50e9868f7016c8a417c51a80bd0a5fe1432c2a97a3bd8e4a5320ab">kFLASH_ResourceOptionFlashIfr</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga70d45ebc64d50e9868f7016c8a417c51a900b2f3a7dbd7260d7883fe9fa816c6d">kFLASH_ResourceOptionVersionId</a> = 0x01U
<br />
 }<tr class="memdesc:ga70d45ebc64d50e9868f7016c8a417c51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for the two possible options of flash read resource command.  <a href="group__flash__driver__api.html#ga70d45ebc64d50e9868f7016c8a417c51">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga70d45ebc64d50e9868f7016c8a417c51"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga96987ef9c446cb9d16ede994e6c0c987"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga96987ef9c446cb9d16ede994e6c0c987"></a>
static const <a class="el" href="group__context.html#structflash__driver__interface__t">flash_driver_interface_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga96987ef9c446cb9d16ede994e6c0c987">s_flashInterface</a></td></tr>
<tr class="memdesc:ga96987ef9c446cb9d16ede994e6c0c987"><td class="mdescLeft">&#160;</td><td class="mdescRight">Global pointer to the flash driver API table in ROM. <br /></td></tr>
<tr class="separator:ga96987ef9c446cb9d16ede994e6c0c987"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Flash version</h2></td></tr>
<tr class="memitem:ga2cdaf5b1f6b03013e2f0cf2c6d26adae"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga2cdaf5b1f6b03013e2f0cf2c6d26adae">_flash_driver_version_constants</a> { <br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga2cdaf5b1f6b03013e2f0cf2c6d26adaea599e22575bcd9a7aa32a1c7b43591f0b">kFLASH_DriverVersionName</a> = 'F', 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga2cdaf5b1f6b03013e2f0cf2c6d26adaea4735add39aa49ca212b24fbef9fcb952">kFLASH_DriverVersionMajor</a> = 2, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga2cdaf5b1f6b03013e2f0cf2c6d26adaeab54b9127ada5f04373dd17edc4e005f4">kFLASH_DriverVersionMinor</a> = 1, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga2cdaf5b1f6b03013e2f0cf2c6d26adaea1a3661a27450809aa90f49d6b01781b3">kFLASH_DriverVersionBugfix</a> = 0, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga2cdaf5b1f6b03013e2f0cf2c6d26adaea599e22575bcd9a7aa32a1c7b43591f0b">kFLASH_DriverVersionName</a> = 'F', 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga2cdaf5b1f6b03013e2f0cf2c6d26adaea4735add39aa49ca212b24fbef9fcb952">kFLASH_DriverVersionMajor</a> = 2, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga2cdaf5b1f6b03013e2f0cf2c6d26adaeab54b9127ada5f04373dd17edc4e005f4">kFLASH_DriverVersionMinor</a> = 1, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga2cdaf5b1f6b03013e2f0cf2c6d26adaea1a3661a27450809aa90f49d6b01781b3">kFLASH_DriverVersionBugfix</a> = 0
<br />
 }<tr class="memdesc:ga2cdaf5b1f6b03013e2f0cf2c6d26adae"><td class="mdescLeft">&#160;</td><td class="mdescRight">FLASH driver version for ROM.  <a href="group__flash__driver__api.html#ga2cdaf5b1f6b03013e2f0cf2c6d26adae">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga2cdaf5b1f6b03013e2f0cf2c6d26adae"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Flash status</h2></td></tr>
<tr class="memitem:ga98674236630d24e8234d66eabcb26953"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga98674236630d24e8234d66eabcb26953"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga98674236630d24e8234d66eabcb26953">_generic_status</a> { <br />
&#160;&#160;<b>kStatus_Success</b> = MAKE_STATUS(kStatusGroup_Generic, 0), 
<br />
&#160;&#160;<b>kStatus_Fail</b> = MAKE_STATUS(kStatusGroup_Generic, 1), 
<br />
&#160;&#160;<b>kStatus_ReadOnly</b> = MAKE_STATUS(kStatusGroup_Generic, 2), 
<br />
&#160;&#160;<b>kStatus_OutOfRange</b> = MAKE_STATUS(kStatusGroup_Generic, 3), 
<br />
&#160;&#160;<b>kStatus_InvalidArgument</b> = MAKE_STATUS(kStatusGroup_Generic, 4), 
<br />
&#160;&#160;<b>kStatus_Timeout</b> = MAKE_STATUS(kStatusGroup_Generic, 5), 
<br />
&#160;&#160;<b>kStatus_NoTransferInProgress</b> = MAKE_STATUS(kStatusGroup_Generic, 6), 
<br />
&#160;&#160;<b>kStatus_Success</b> = MAKE_STATUS(kStatusGroupGeneric, 0), 
<br />
&#160;&#160;<b>kStatus_Fail</b> = MAKE_STATUS(kStatusGroupGeneric, 1), 
<br />
&#160;&#160;<b>kStatus_ReadOnly</b> = MAKE_STATUS(kStatusGroupGeneric, 2), 
<br />
&#160;&#160;<b>kStatus_OutOfRange</b> = MAKE_STATUS(kStatusGroupGeneric, 3), 
<br />
&#160;&#160;<b>kStatus_InvalidArgument</b> = MAKE_STATUS(kStatusGroupGeneric, 4)
<br />
 }<tr class="memdesc:ga98674236630d24e8234d66eabcb26953"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic status return codes. <br /></td></tr>
</td></tr>
<tr class="separator:ga98674236630d24e8234d66eabcb26953"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa4639fd4d4503c0dec9925f749d308b2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#gaa4639fd4d4503c0dec9925f749d308b2">_flash_status</a> { <br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a> = MAKE_STATUS(kStatusGroupGeneric, 0), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a> = MAKE_STATUS(kStatusGroupGeneric, 4), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a6735801bd1fbd61f7d96a07c2c2f9a76">kStatus_FLASH_SizeError</a> = MAKE_STATUS(kStatusGroupFlashDriver, 0), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a098148af25679d78133103cace7580ea">kStatus_FLASH_AlignmentError</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2acc367a368270606eae83264f59b55211">kStatus_FLASH_AddressError</a> = MAKE_STATUS(kStatusGroupFlashDriver, 2), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab9e32512512c1ea1508bc2832f2bd528">kStatus_FLASH_AccessError</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab406157d740ab0a07df1fc5d2b159fc3">kStatus_FLASH_ProtectionViolation</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a42567b719be83f23619c498da80643ed">kStatus_FLASH_CommandFailure</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a0ac435d9c4aa24ccb8ab983de1979780">kStatus_FLASH_UnknownProperty</a> = MAKE_STATUS(kStatusGroupFlashDriver, 6), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a9741e88e6013710b11b81e2af7071a92">kStatus_FLASH_EraseKeyError</a> = MAKE_STATUS(kStatusGroupFlashDriver, 7), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aa3ace4bf14ea333efd6189b8ddf47aca">kStatus_FLASH_RegionExecuteOnly</a> = MAKE_STATUS(kStatusGroupFlashDriver, 8), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32">kStatus_FLASH_ExecuteInRamFunctionNotReady</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a91eb156935e27973454eb8df37a36c53">kStatus_FLASH_PartitionStatusUpdateFailure</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab8b9f6c116209a00338a430e741a1a40">kStatus_FLASH_SetFlexramAsEepromError</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a128d2d13d9674d46619a5c698bc7a7b9">kStatus_FLASH_RecoverFlexramAsRamError</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2abf40cb19a8c5af9880414ef5f9be1c6d">kStatus_FLASH_SetFlexramAsRamError</a> = MAKE_STATUS(kStatusGroupFlashDriver, 13), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aa7652faf3cc559ccda57f8aea502045b">kStatus_FLASH_RecoverFlexramAsEepromError</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab032e11743a3397f9c81afac3faa9c25">kStatus_FLASH_CommandNotSupported</a> = MAKE_STATUS(kStatusGroupFlashDriver, 15), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a5e0c3747a74458caefc231b995f09679">kStatus_FLASH_SwapSystemNotInUninitialized</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aefaeaf1008f0361fb3ff2d051720cd82">kStatus_FLASH_SwapIndicatorAddressError</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a> = MAKE_STATUS(kStatusGroupGeneric, 0), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a> = MAKE_STATUS(kStatusGroupGeneric, 4), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a6735801bd1fbd61f7d96a07c2c2f9a76">kStatus_FLASH_SizeError</a> = MAKE_STATUS(kStatusGroupFlashDriver, 0), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a098148af25679d78133103cace7580ea">kStatus_FLASH_AlignmentError</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2acc367a368270606eae83264f59b55211">kStatus_FLASH_AddressError</a> = MAKE_STATUS(kStatusGroupFlashDriver, 2), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab9e32512512c1ea1508bc2832f2bd528">kStatus_FLASH_AccessError</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab406157d740ab0a07df1fc5d2b159fc3">kStatus_FLASH_ProtectionViolation</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a42567b719be83f23619c498da80643ed">kStatus_FLASH_CommandFailure</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a0ac435d9c4aa24ccb8ab983de1979780">kStatus_FLASH_UnknownProperty</a> = MAKE_STATUS(kStatusGroupFlashDriver, 6), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a9741e88e6013710b11b81e2af7071a92">kStatus_FLASH_EraseKeyError</a> = MAKE_STATUS(kStatusGroupFlashDriver, 7), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aa3ace4bf14ea333efd6189b8ddf47aca">kStatus_FLASH_RegionExecuteOnly</a> = MAKE_STATUS(kStatusGroupFlashDriver, 8), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32">kStatus_FLASH_ExecuteInRamFunctionNotReady</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a91eb156935e27973454eb8df37a36c53">kStatus_FLASH_PartitionStatusUpdateFailure</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab8b9f6c116209a00338a430e741a1a40">kStatus_FLASH_SetFlexramAsEepromError</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a128d2d13d9674d46619a5c698bc7a7b9">kStatus_FLASH_RecoverFlexramAsRamError</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2abf40cb19a8c5af9880414ef5f9be1c6d">kStatus_FLASH_SetFlexramAsRamError</a> = MAKE_STATUS(kStatusGroupFlashDriver, 13), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aa7652faf3cc559ccda57f8aea502045b">kStatus_FLASH_RecoverFlexramAsEepromError</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab032e11743a3397f9c81afac3faa9c25">kStatus_FLASH_CommandNotSupported</a> = MAKE_STATUS(kStatusGroupFlashDriver, 15), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a5e0c3747a74458caefc231b995f09679">kStatus_FLASH_SwapSystemNotInUninitialized</a>, 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aefaeaf1008f0361fb3ff2d051720cd82">kStatus_FLASH_SwapIndicatorAddressError</a>
<br />
 }<tr class="memdesc:gaa4639fd4d4503c0dec9925f749d308b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flash driver status codes.  <a href="group__flash__driver__api.html#gaa4639fd4d4503c0dec9925f749d308b2">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gaa4639fd4d4503c0dec9925f749d308b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaabdaf7ee58ca7269bd4bf24efcde092"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaaabdaf7ee58ca7269bd4bf24efcde092"></a>
typedef int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a></td></tr>
<tr class="memdesc:gaaabdaf7ee58ca7269bd4bf24efcde092"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type used for all status and error return values. <br /></td></tr>
<tr class="separator:gaaabdaf7ee58ca7269bd4bf24efcde092"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Flash API key</h2></td></tr>
<tr class="memitem:ga95539796ed8672eda06bfc363883a508"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga95539796ed8672eda06bfc363883a508">_flash_driver_api_keys</a> { <br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga95539796ed8672eda06bfc363883a508a5b52819ce5c4ed6cb099b6f89b7eac56">kFLASH_ApiEraseKey</a> = FOUR_CHAR_CODE('k', 'f', 'e', 'k'), 
<br />
&#160;&#160;<a class="el" href="group__flash__driver__api.html#gga95539796ed8672eda06bfc363883a508a5b52819ce5c4ed6cb099b6f89b7eac56">kFLASH_ApiEraseKey</a> = FOUR_CHAR_CODE('k', 'f', 'e', 'k')
<br />
 }<tr class="memdesc:ga95539796ed8672eda06bfc363883a508"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for flash driver API keys.  <a href="group__flash__driver__api.html#ga95539796ed8672eda06bfc363883a508">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga95539796ed8672eda06bfc363883a508"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Initialization</h2></td></tr>
<tr class="memitem:ga19c10d3524010a2d33369855d74a5c04"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga19c10d3524010a2d33369855d74a5c04">FLASH_Init</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config)</td></tr>
<tr class="memdesc:ga19c10d3524010a2d33369855d74a5c04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes global flash properties structure members.  <a href="#ga19c10d3524010a2d33369855d74a5c04">More...</a><br /></td></tr>
<tr class="separator:ga19c10d3524010a2d33369855d74a5c04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa89a4c7704b471af58c2d0f629a87ff4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#gaa89a4c7704b471af58c2d0f629a87ff4">FLASH_SetCallback</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, <a class="el" href="group__flash__driver__api.html#ga67c22466713ef09903b07a56e1c2a050">flash_callback_t</a> callback)</td></tr>
<tr class="memdesc:gaa89a4c7704b471af58c2d0f629a87ff4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the desired flash callback function.  <a href="#gaa89a4c7704b471af58c2d0f629a87ff4">More...</a><br /></td></tr>
<tr class="separator:gaa89a4c7704b471af58c2d0f629a87ff4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab69bf91c617921217e0c5f302cc33daf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#gab69bf91c617921217e0c5f302cc33daf">FLASH_PrepareExecuteInRamFunctions</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config)</td></tr>
<tr class="memdesc:gab69bf91c617921217e0c5f302cc33daf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prepare flash execute-in-ram functions.  <a href="#gab69bf91c617921217e0c5f302cc33daf">More...</a><br /></td></tr>
<tr class="separator:gab69bf91c617921217e0c5f302cc33daf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Erasing</h2></td></tr>
<tr class="memitem:ga620aad3b28de9e89e3297bd1bbcd5618"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga620aad3b28de9e89e3297bd1bbcd5618">FLASH_EraseAll</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t key)</td></tr>
<tr class="memdesc:ga620aad3b28de9e89e3297bd1bbcd5618"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases entire flash.  <a href="#ga620aad3b28de9e89e3297bd1bbcd5618">More...</a><br /></td></tr>
<tr class="separator:ga620aad3b28de9e89e3297bd1bbcd5618"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9cb58f4cf76fec37631c4f344e2fb10"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#gae9cb58f4cf76fec37631c4f344e2fb10">FLASH_Erase</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t start, uint32_t lengthInBytes, uint32_t key)</td></tr>
<tr class="memdesc:gae9cb58f4cf76fec37631c4f344e2fb10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases flash sectors encompassed by parameters passed into function.  <a href="#gae9cb58f4cf76fec37631c4f344e2fb10">More...</a><br /></td></tr>
<tr class="separator:gae9cb58f4cf76fec37631c4f344e2fb10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga922c2d91287b65b805e2b6f115340af4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga922c2d91287b65b805e2b6f115340af4">FLASH_EraseAllUnsecure</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t key)</td></tr>
<tr class="memdesc:ga922c2d91287b65b805e2b6f115340af4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases entire flash, including protected sectors.  <a href="#ga922c2d91287b65b805e2b6f115340af4">More...</a><br /></td></tr>
<tr class="separator:ga922c2d91287b65b805e2b6f115340af4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad39d36451aef62e097b545518ef984f6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#gad39d36451aef62e097b545518ef984f6">FLASH_EraseAllExecuteOnlySegments</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t key)</td></tr>
<tr class="memdesc:gad39d36451aef62e097b545518ef984f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases all program flash execute-only segments defined by the FXACC registers.  <a href="#gad39d36451aef62e097b545518ef984f6">More...</a><br /></td></tr>
<tr class="separator:gad39d36451aef62e097b545518ef984f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Programming</h2></td></tr>
<tr class="memitem:gaac44aa0a054e62adb306bf4910a99bd4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#gaac44aa0a054e62adb306bf4910a99bd4">FLASH_Program</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t start, uint32_t *src, uint32_t lengthInBytes)</td></tr>
<tr class="memdesc:gaac44aa0a054e62adb306bf4910a99bd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Programs flash with data at locations passed in through parameters.  <a href="#gaac44aa0a054e62adb306bf4910a99bd4">More...</a><br /></td></tr>
<tr class="separator:gaac44aa0a054e62adb306bf4910a99bd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e45501b1e1c6ddd5b10a76e422c4d29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga7e45501b1e1c6ddd5b10a76e422c4d29">FLASH_ProgramOnce</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t index, uint32_t *src, uint32_t lengthInBytes)</td></tr>
<tr class="memdesc:ga7e45501b1e1c6ddd5b10a76e422c4d29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Programs Program Once Field through parameters.  <a href="#ga7e45501b1e1c6ddd5b10a76e422c4d29">More...</a><br /></td></tr>
<tr class="separator:ga7e45501b1e1c6ddd5b10a76e422c4d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad9ffbb7b82028934b864dd6fb359df92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#gad9ffbb7b82028934b864dd6fb359df92">FLASH_ReadResource</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t start, uint32_t *dst, uint32_t lengthInBytes, <a class="el" href="group__flash__driver.html#ga70d45ebc64d50e9868f7016c8a417c51">flash_read_resource_option_t</a> option)</td></tr>
<tr class="memdesc:gad9ffbb7b82028934b864dd6fb359df92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read resource with data at locations passed in through parameters.  <a href="#gad9ffbb7b82028934b864dd6fb359df92">More...</a><br /></td></tr>
<tr class="separator:gad9ffbb7b82028934b864dd6fb359df92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3921a84a4dc5f7f824d6816d17cbc55b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga3921a84a4dc5f7f824d6816d17cbc55b">FLASH_ReadOnce</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t index, uint32_t *dst, uint32_t lengthInBytes)</td></tr>
<tr class="memdesc:ga3921a84a4dc5f7f824d6816d17cbc55b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read Program Once Field through parameters.  <a href="#ga3921a84a4dc5f7f824d6816d17cbc55b">More...</a><br /></td></tr>
<tr class="separator:ga3921a84a4dc5f7f824d6816d17cbc55b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Security</h2></td></tr>
<tr class="memitem:gac228a2b25c575e489b47ac3c0652a50a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#gac228a2b25c575e489b47ac3c0652a50a">FLASH_GetSecurityState</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, <a class="el" href="group__flash__driver.html#ga00b3eb2666116e617f6e45a10218f6a9">flash_security_state_t</a> *state)</td></tr>
<tr class="memdesc:gac228a2b25c575e489b47ac3c0652a50a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the security state via the pointer passed into the function.  <a href="#gac228a2b25c575e489b47ac3c0652a50a">More...</a><br /></td></tr>
<tr class="separator:gac228a2b25c575e489b47ac3c0652a50a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae54de3df1d9c73f19b1bd2ad713c2607"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#gae54de3df1d9c73f19b1bd2ad713c2607">FLASH_SecurityBypass</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, const uint8_t *backdoorKey)</td></tr>
<tr class="memdesc:gae54de3df1d9c73f19b1bd2ad713c2607"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allows user to bypass security with a backdoor key.  <a href="#gae54de3df1d9c73f19b1bd2ad713c2607">More...</a><br /></td></tr>
<tr class="separator:gae54de3df1d9c73f19b1bd2ad713c2607"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Verification</h2></td></tr>
<tr class="memitem:ga85a55ca1a9dcdd134989e6c722007db6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga85a55ca1a9dcdd134989e6c722007db6">FLASH_VerifyEraseAll</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, <a class="el" href="group__flash__driver.html#ga2105f5de393a06479e62141dab8dd3fc">flash_margin_value_t</a> margin)</td></tr>
<tr class="memdesc:ga85a55ca1a9dcdd134989e6c722007db6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies erasure of entire flash at specified margin level.  <a href="#ga85a55ca1a9dcdd134989e6c722007db6">More...</a><br /></td></tr>
<tr class="separator:ga85a55ca1a9dcdd134989e6c722007db6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf88e46a975e29f113fd29798aeb5b66c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#gaf88e46a975e29f113fd29798aeb5b66c">FLASH_VerifyErase</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t start, uint32_t lengthInBytes, <a class="el" href="group__flash__driver.html#ga2105f5de393a06479e62141dab8dd3fc">flash_margin_value_t</a> margin)</td></tr>
<tr class="memdesc:gaf88e46a975e29f113fd29798aeb5b66c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies erasure of desired flash area at specified margin level.  <a href="#gaf88e46a975e29f113fd29798aeb5b66c">More...</a><br /></td></tr>
<tr class="separator:gaf88e46a975e29f113fd29798aeb5b66c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga17820a03a93127cf52f6e7b5ed830c8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga17820a03a93127cf52f6e7b5ed830c8b">FLASH_VerifyProgram</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t start, uint32_t lengthInBytes, const uint32_t *expectedData, <a class="el" href="group__flash__driver.html#ga2105f5de393a06479e62141dab8dd3fc">flash_margin_value_t</a> margin, uint32_t *failedAddress, uint32_t *failedData)</td></tr>
<tr class="memdesc:ga17820a03a93127cf52f6e7b5ed830c8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies programming of desired flash area at specified margin level.  <a href="#ga17820a03a93127cf52f6e7b5ed830c8b">More...</a><br /></td></tr>
<tr class="separator:ga17820a03a93127cf52f6e7b5ed830c8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab15b9e74df82e1ebc15c802c34eaeaab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#gab15b9e74df82e1ebc15c802c34eaeaab">FLASH_VerifyEraseAllExecuteOnlySegments</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, <a class="el" href="group__flash__driver.html#ga2105f5de393a06479e62141dab8dd3fc">flash_margin_value_t</a> margin)</td></tr>
<tr class="memdesc:gab15b9e74df82e1ebc15c802c34eaeaab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies if the program flash executeonly segments have been erased to the specified read margin level.  <a href="#gab15b9e74df82e1ebc15c802c34eaeaab">More...</a><br /></td></tr>
<tr class="separator:gab15b9e74df82e1ebc15c802c34eaeaab"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Protection</h2></td></tr>
<tr class="memitem:ga288c88008135094a458b0464aca7724a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#ga288c88008135094a458b0464aca7724a">FLASH_IsExecuteOnly</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t start, uint32_t lengthInBytes, <a class="el" href="group__flash__driver.html#gad38961e5692f64548dbf84d652b9ccde">flash_execute_only_access_state_t</a> *access_state)</td></tr>
<tr class="memdesc:ga288c88008135094a458b0464aca7724a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the access state of desired flash area via the pointer passed into the function.  <a href="#ga288c88008135094a458b0464aca7724a">More...</a><br /></td></tr>
<tr class="separator:ga288c88008135094a458b0464aca7724a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Properties</h2></td></tr>
<tr class="memitem:gafd0d83bc8fec50fe9a9121d2ec906697"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flash__driver__api.html#gafd0d83bc8fec50fe9a9121d2ec906697">FLASH_GetProperty</a> (<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, <a class="el" href="group__flash__driver.html#ga7b6766fe08a63cf92a5e2a90dd6d010f">flash_property_tag_t</a> whichProperty, uint32_t *value)</td></tr>
<tr class="memdesc:gafd0d83bc8fec50fe9a9121d2ec906697"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the desired flash property.  <a href="#gafd0d83bc8fec50fe9a9121d2ec906697">More...</a><br /></td></tr>
<tr class="separator:gafd0d83bc8fec50fe9a9121d2ec906697"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Usage Information</h2>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structflash__execute__in__ram__function__config__t" id="structflash__execute__in__ram__function__config__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct flash_execute_in_ram_function_config_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Flash execute-in-ram function information. </p>
</div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a117b7a2a9cf9fdb06661d7163c33b2af"></a>uint32_t</td>
<td class="fieldname">
activeFunctionCount</td>
<td class="fielddoc">
<p>Number of available execute-in-ram functions. </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ac97d40e6006d6166c14dc11ce9e13a0d"></a>uint8_t *</td>
<td class="fieldname">
flashCacheClearCommand</td>
<td class="fielddoc">
<p>execute-in-ram function: flash_cache_clear_command. </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab7ca2d1bc1695f82fe490ee90b7776ce"></a>uint8_t *</td>
<td class="fieldname">
flashRunCommand</td>
<td class="fielddoc">
<p>execute-in-ram function: flash_run_command. </p>
</td></tr>
</table>

</div>
</div>
<a name="structflash__config__t" id="structflash__config__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct flash_config_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Flash driver state information. </p>
<p>An instance of this structure is allocated by the user of the flash driver and passed into each of the driver APIs. </p>
</div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a7e640be58919174a50948abd4557668a"></a>uint32_t</td>
<td class="fieldname">
DFlashBlockBase</td>
<td class="fielddoc">
<p>For FlexNVM device, this is the base address of D-Flash memory (FlexNVM memory); For non-FlexNVM device, this field is unused </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a7f003f8a626eb6157412261e0729c40e"></a>uint32_t</td>
<td class="fieldname">
DFlashTotalSize</td>
<td class="fielddoc">
<p>For FlexNVM device, this is total size of the FlexNVM memory; For non-FlexNVM device, this field is unused </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa4584e2da546de0d98e2360dce279b13"></a>uint32_t</td>
<td class="fieldname">
EEpromTotalSize</td>
<td class="fielddoc">
<p>For FlexNVM device, this is the size in byte of EEPROM area which was partitioned from FlexRAM; For non-FlexNVM device, this field is unused </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a405e0d401c18d48e9a0c1f7aa55f9e57"></a>uint32_t *</td>
<td class="fieldname">
flashExecuteInRamFunctionInfo</td>
<td class="fielddoc">
<p>Info struct of flash execute-in-ram function. </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a2b7bcbaeba50469f2e1e2c00cb644d8b"></a>uint32_t</td>
<td class="fieldname">
FlexRAMBlockBase</td>
<td class="fielddoc">
<p>For FlexNVM device, this is the base address of FlexRAM For non-FlexNVM device, this is the base address of acceleration RAM memory </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab432a27d20db93660dd231158448cec6"></a>uint32_t</td>
<td class="fieldname">
FlexRAMTotalSize</td>
<td class="fielddoc">
<p>For FlexNVM device, this is the size of FlexRAM For non-FlexNVM device, this is the size of acceleration RAM memory </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a22c15035fac410bd06bc1f7bad18fb18"></a>uint32_t</td>
<td class="fieldname">
PFlashAccessSegmentCount</td>
<td class="fielddoc">
<p>Number of PFlash access segments. </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab51aad9e4cdb446b7e9f31ded8272cd1"></a>uint32_t</td>
<td class="fieldname">
PFlashAccessSegmentSize</td>
<td class="fielddoc">
<p>Size in bytes of a access segment of PFlash. </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a3ebd02013230935b40d11bba77fdd2c8"></a>uint32_t</td>
<td class="fieldname">
PFlashBlockBase</td>
<td class="fielddoc">
<p>Base address of the first PFlash block </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a5b8758c7260d1f19749a3811f4498148"></a>uint32_t</td>
<td class="fieldname">
PFlashBlockCount</td>
<td class="fielddoc">
<p>Number of PFlash blocks. </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="adadc482ede6281f5fa1ad31900051aed"></a><a class="el" href="group__flash__driver__api.html#ga67c22466713ef09903b07a56e1c2a050">flash_callback_t</a></td>
<td class="fieldname">
PFlashCallback</td>
<td class="fielddoc">
<p>Callback function for flash API. </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a670ded313d978acfb3602ed2e5cfec68"></a>uint32_t</td>
<td class="fieldname">
PFlashSectorSize</td>
<td class="fielddoc">
<p>Size in bytes of a sector of PFlash. </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a84412bcc9676bc99eb517ffcc9a29783"></a>uint32_t</td>
<td class="fieldname">
PFlashTotalSize</td>
<td class="fielddoc">
<p>Size of all combined PFlash block. </p>
</td></tr>
</table>

</div>
</div>
<a name="unionstandard__version__t" id="unionstandard__version__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">union standard_version_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Structure of version property. </p>
</div><table class="memberdecls">
<tr><td colspan="2"><h3>Public Member Functions</h3></td></tr>
<tr class="memitem:ac5ef9eb6330ce354c82bb9802e57140b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac5ef9eb6330ce354c82bb9802e57140b"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>StandardVersion</b> ()</td></tr>
<tr class="separator:ac5ef9eb6330ce354c82bb9802e57140b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac96a034f3d8c69b1b78bf1f070725fdc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac96a034f3d8c69b1b78bf1f070725fdc"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>StandardVersion</b> (uint32_t <a class="el" href="group__bl__core.html#acd99bb05ca015e7d74448acb1deba7ca">version</a>)</td></tr>
<tr class="separator:ac96a034f3d8c69b1b78bf1f070725fdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a7e572b79b399092541510ae2f6a646e1"><td class="memItemLeft" ><a class="anchor" id="a7e572b79b399092541510ae2f6a646e1"></a>
struct {</td></tr>
<tr class="memitem:a3999cc3c943699306850c161e3075360"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3999cc3c943699306850c161e3075360"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>bugfix</b></td></tr>
<tr class="memdesc:a3999cc3c943699306850c161e3075360"><td class="mdescLeft">&#160;</td><td class="mdescRight">bugfix version [7:0] <br /></td></tr>
<tr class="separator:a3999cc3c943699306850c161e3075360"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2f416b0a34b7beb4ed3873d791ac393"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2f416b0a34b7beb4ed3873d791ac393"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>minor</b></td></tr>
<tr class="memdesc:ae2f416b0a34b7beb4ed3873d791ac393"><td class="mdescLeft">&#160;</td><td class="mdescRight">minor version [15:8] <br /></td></tr>
<tr class="separator:ae2f416b0a34b7beb4ed3873d791ac393"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bd4e4c943762926c8f653b6224cced2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5bd4e4c943762926c8f653b6224cced2"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>major</b></td></tr>
<tr class="memdesc:a5bd4e4c943762926c8f653b6224cced2"><td class="mdescLeft">&#160;</td><td class="mdescRight">major version [23:16] <br /></td></tr>
<tr class="separator:a5bd4e4c943762926c8f653b6224cced2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc65b5080badbd1e1482dae3cc685b5b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc65b5080badbd1e1482dae3cc685b5b"></a>
char&#160;</td><td class="memItemRight" valign="bottom"><b>name</b></td></tr>
<tr class="memdesc:afc65b5080badbd1e1482dae3cc685b5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">name [31:24] <br /></td></tr>
<tr class="separator:afc65b5080badbd1e1482dae3cc685b5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e572b79b399092541510ae2f6a646e1"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="separator:a7e572b79b399092541510ae2f6a646e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd99bb05ca015e7d74448acb1deba7ca"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd99bb05ca015e7d74448acb1deba7ca"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bl__core.html#acd99bb05ca015e7d74448acb1deba7ca">version</a></td></tr>
<tr class="memdesc:acd99bb05ca015e7d74448acb1deba7ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">combined version numbers <br /></td></tr>
<tr class="separator:acd99bb05ca015e7d74448acb1deba7ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f5e0643c9533d4170be34c3493cb28f"><td class="memItemLeft" ><a class="anchor" id="a9f5e0643c9533d4170be34c3493cb28f"></a>
struct {</td></tr>
<tr class="memitem:a37054637947a71acd26dc2d2ee0fcb1a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37054637947a71acd26dc2d2ee0fcb1a"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>bugfix</b>: 8</td></tr>
<tr class="memdesc:a37054637947a71acd26dc2d2ee0fcb1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">bugfix version [7:0] <br /></td></tr>
<tr class="separator:a37054637947a71acd26dc2d2ee0fcb1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7feeb248b9f5c0a309c4ec51a3ec57da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7feeb248b9f5c0a309c4ec51a3ec57da"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>minor</b>: 8</td></tr>
<tr class="memdesc:a7feeb248b9f5c0a309c4ec51a3ec57da"><td class="mdescLeft">&#160;</td><td class="mdescRight">minor version [15:8] <br /></td></tr>
<tr class="separator:a7feeb248b9f5c0a309c4ec51a3ec57da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaa8a60018b724301b0de7b13fa449d1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acaa8a60018b724301b0de7b13fa449d1"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>major</b>: 8</td></tr>
<tr class="memdesc:acaa8a60018b724301b0de7b13fa449d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">major version [23:16] <br /></td></tr>
<tr class="separator:acaa8a60018b724301b0de7b13fa449d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6aa3cdf7ddf6c2a022af8696384ceba0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6aa3cdf7ddf6c2a022af8696384ceba0"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>name</b>: 8</td></tr>
<tr class="memdesc:a6aa3cdf7ddf6c2a022af8696384ceba0"><td class="mdescLeft">&#160;</td><td class="mdescRight">name [31:24] <br /></td></tr>
<tr class="separator:a6aa3cdf7ddf6c2a022af8696384ceba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f5e0643c9533d4170be34c3493cb28f"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><b>B</b></td></tr>
<tr class="separator:a9f5e0643c9533d4170be34c3493cb28f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87f3c775ea729760c96689c5d76ecfdb"><td class="memItemLeft" ><a class="anchor" id="a87f3c775ea729760c96689c5d76ecfdb"></a>
struct {</td></tr>
<tr class="memitem:a37054637947a71acd26dc2d2ee0fcb1a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37054637947a71acd26dc2d2ee0fcb1a"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>bugfix</b>: 8</td></tr>
<tr class="memdesc:a37054637947a71acd26dc2d2ee0fcb1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">bugfix version [7:0] <br /></td></tr>
<tr class="separator:a37054637947a71acd26dc2d2ee0fcb1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7feeb248b9f5c0a309c4ec51a3ec57da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7feeb248b9f5c0a309c4ec51a3ec57da"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>minor</b>: 8</td></tr>
<tr class="memdesc:a7feeb248b9f5c0a309c4ec51a3ec57da"><td class="mdescLeft">&#160;</td><td class="mdescRight">minor version [15:8] <br /></td></tr>
<tr class="separator:a7feeb248b9f5c0a309c4ec51a3ec57da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaa8a60018b724301b0de7b13fa449d1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acaa8a60018b724301b0de7b13fa449d1"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>major</b>: 8</td></tr>
<tr class="memdesc:acaa8a60018b724301b0de7b13fa449d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">major version [23:16] <br /></td></tr>
<tr class="separator:acaa8a60018b724301b0de7b13fa449d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6aa3cdf7ddf6c2a022af8696384ceba0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6aa3cdf7ddf6c2a022af8696384ceba0"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>name</b>: 8</td></tr>
<tr class="memdesc:a6aa3cdf7ddf6c2a022af8696384ceba0"><td class="mdescLeft">&#160;</td><td class="mdescRight">name [31:24] <br /></td></tr>
<tr class="separator:a6aa3cdf7ddf6c2a022af8696384ceba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87f3c775ea729760c96689c5d76ecfdb"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><b>B</b></td></tr>
<tr class="separator:a87f3c775ea729760c96689c5d76ecfdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>

</div>
</div>
<a name="structstandard__version__t_8____unnamed____" id="structstandard__version__t_8____unnamed____"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct standard_version_t.__unnamed__</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"></div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a35eaed2063b729088b47a7d36ba6567f"></a>uint8_t</td>
<td class="fieldname">
bugfix</td>
<td class="fielddoc">
bugfix version [7:0] </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="af1425da40a9f2d21ab702a1c7feae026"></a>uint8_t</td>
<td class="fieldname">
major</td>
<td class="fielddoc">
major version [23:16] </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aab846c0e3717a3e7d14af45cab70b44a"></a>uint8_t</td>
<td class="fieldname">
minor</td>
<td class="fielddoc">
minor version [15:8] </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab068931cc450442b63f5b3d276ea4297"></a>char</td>
<td class="fieldname">
name</td>
<td class="fielddoc">
name [31:24] </td></tr>
</table>

</div>
</div>
<a name="structstandard__version__t_8_b" id="structstandard__version__t_8_b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct standard_version_t.B</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"></div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a35eaed2063b729088b47a7d36ba6567f"></a>uint32_t</td>
<td class="fieldname">
bugfix: 8</td>
<td class="fielddoc">
bugfix version [7:0] </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="af1425da40a9f2d21ab702a1c7feae026"></a>uint32_t</td>
<td class="fieldname">
major: 8</td>
<td class="fielddoc">
major version [23:16] </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aab846c0e3717a3e7d14af45cab70b44a"></a>uint32_t</td>
<td class="fieldname">
minor: 8</td>
<td class="fielddoc">
minor version [15:8] </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab068931cc450442b63f5b3d276ea4297"></a>uint32_t</td>
<td class="fieldname">
name: 8</td>
<td class="fielddoc">
name [31:24] </td></tr>
</table>

</div>
</div>
<a name="structflash__driver__interface__t" id="structflash__driver__interface__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct flash_driver_interface_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Interface for the flash driver. </p>
</div><div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-1-trigger" src="closed.png" alt="+"/> Collaboration diagram for flash_driver_interface_t:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structflash__driver__interface__t__coll__graph.svg" width="164" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:ab5805c535f737e9a32670f5a45b50add"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab5805c535f737e9a32670f5a45b50add"></a>
<a class="el" href="group__bl__core.html#unionstandard__version__t">standard_version_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#ab5805c535f737e9a32670f5a45b50add">version</a></td></tr>
<tr class="memdesc:ab5805c535f737e9a32670f5a45b50add"><td class="mdescLeft">&#160;</td><td class="mdescRight">flash driver API version number. <br /></td></tr>
<tr class="separator:ab5805c535f737e9a32670f5a45b50add"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b4a645d0d8ea02b82e51dc2f1f078d9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b4a645d0d8ea02b82e51dc2f1f078d9"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_init</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config)</td></tr>
<tr class="separator:a8b4a645d0d8ea02b82e51dc2f1f078d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2789477fc5d6e9f3bc5263f75917e75f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2789477fc5d6e9f3bc5263f75917e75f"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_erase_all</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t key)</td></tr>
<tr class="separator:a2789477fc5d6e9f3bc5263f75917e75f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a8f8ddd13a7ce19e3976d86ab2da2e0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a8f8ddd13a7ce19e3976d86ab2da2e0"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_erase_all_unsecure</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t key)</td></tr>
<tr class="separator:a7a8f8ddd13a7ce19e3976d86ab2da2e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62f3ed8584436c63c664cf06f1622f1f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62f3ed8584436c63c664cf06f1622f1f"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_erase</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t start, uint32_t lengthInBytes, uint32_t key)</td></tr>
<tr class="separator:a62f3ed8584436c63c664cf06f1622f1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7c734e1aea834892d43f835841272a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7c734e1aea834892d43f835841272a2"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_program</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t start, uint32_t *src, uint32_t lengthInBytes)</td></tr>
<tr class="separator:ad7c734e1aea834892d43f835841272a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae62ef689e92fd5ac5c8c23bf1f60d7be"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae62ef689e92fd5ac5c8c23bf1f60d7be"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_get_security_state</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, <a class="el" href="group__flash__driver.html#ga00b3eb2666116e617f6e45a10218f6a9">flash_security_state_t</a> *state)</td></tr>
<tr class="separator:ae62ef689e92fd5ac5c8c23bf1f60d7be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a060b6cfef7ed45e1b3e454a2873c78fa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a060b6cfef7ed45e1b3e454a2873c78fa"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_security_bypass</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, const uint8_t *backdoorKey)</td></tr>
<tr class="separator:a060b6cfef7ed45e1b3e454a2873c78fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07cb338c9a2d5574d00d38d4f1212a2f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07cb338c9a2d5574d00d38d4f1212a2f"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_verify_erase_all</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, <a class="el" href="group__flash__driver.html#ga2105f5de393a06479e62141dab8dd3fc">flash_margin_value_t</a> margin)</td></tr>
<tr class="separator:a07cb338c9a2d5574d00d38d4f1212a2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a067bf0aad5d33df40cb78c6a0ec46bea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a067bf0aad5d33df40cb78c6a0ec46bea"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_verify_erase</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t start, uint32_t lengthInBytes, <a class="el" href="group__flash__driver.html#ga2105f5de393a06479e62141dab8dd3fc">flash_margin_value_t</a> margin)</td></tr>
<tr class="separator:a067bf0aad5d33df40cb78c6a0ec46bea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af12a1e75a4798cdbe0eb4529a877c888"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af12a1e75a4798cdbe0eb4529a877c888"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_verify_program</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t start, uint32_t lengthInBytes, const uint32_t *expectedData, <a class="el" href="group__flash__driver.html#ga2105f5de393a06479e62141dab8dd3fc">flash_margin_value_t</a> margin, uint32_t *failedAddress, uint32_t *failedData)</td></tr>
<tr class="separator:af12a1e75a4798cdbe0eb4529a877c888"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1a281af484c9279b52c27120a2aef00"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1a281af484c9279b52c27120a2aef00"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_get_property</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, <a class="el" href="group__flash__driver.html#ga7b6766fe08a63cf92a5e2a90dd6d010f">flash_property_tag_t</a> whichProperty, uint32_t *value)</td></tr>
<tr class="separator:aa1a281af484c9279b52c27120a2aef00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1ce9b28abd6e2905efb05f43f1be73e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1ce9b28abd6e2905efb05f43f1be73e"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_register_callback</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, <a class="el" href="group__flash__driver__api.html#ga67c22466713ef09903b07a56e1c2a050">flash_callback_t</a> callback)</td></tr>
<tr class="separator:af1ce9b28abd6e2905efb05f43f1be73e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e63a5fafd762f379681dfb239c4c39a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e63a5fafd762f379681dfb239c4c39a"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_program_once</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t index, uint32_t *src, uint32_t lengthInBytes)</td></tr>
<tr class="separator:a4e63a5fafd762f379681dfb239c4c39a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a817da7c63f040a0a0d84a0d223b8feec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a817da7c63f040a0a0d84a0d223b8feec"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_read_once</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t index, uint32_t *dst, uint32_t lengthInBytes)</td></tr>
<tr class="separator:a817da7c63f040a0a0d84a0d223b8feec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee5930e8f55d2b59d6427d02db01c3a7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee5930e8f55d2b59d6427d02db01c3a7"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_read_resource</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t start, uint32_t *dst, uint32_t lengthInBytes, <a class="el" href="group__flash__driver.html#ga70d45ebc64d50e9868f7016c8a417c51">flash_read_resource_option_t</a> option)</td></tr>
<tr class="separator:aee5930e8f55d2b59d6427d02db01c3a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af588964786a956b326705a5965bb05db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af588964786a956b326705a5965bb05db"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_prepare_execute_in_ram_functions</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config)</td></tr>
<tr class="separator:af588964786a956b326705a5965bb05db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4225b362470373d980aa3cc2c2d4691e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4225b362470373d980aa3cc2c2d4691e"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_is_execute_only</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t start, uint32_t lengthInBytes, <a class="el" href="group__flash__driver.html#gad38961e5692f64548dbf84d652b9ccde">flash_execute_only_access_state_t</a> *access_state)</td></tr>
<tr class="separator:a4225b362470373d980aa3cc2c2d4691e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f638fe3fd661f5607e581f8244a9b41"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f638fe3fd661f5607e581f8244a9b41"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_erase_all_execute_only_segments</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t key)</td></tr>
<tr class="separator:a3f638fe3fd661f5607e581f8244a9b41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b8dff2d3ee44573ba51ba98a7243c11"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b8dff2d3ee44573ba51ba98a7243c11"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_verify_erase_all_execute_only_segments</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, <a class="el" href="group__flash__driver.html#ga2105f5de393a06479e62141dab8dd3fc">flash_margin_value_t</a> margin)</td></tr>
<tr class="separator:a9b8dff2d3ee44573ba51ba98a7243c11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a7674a9b2a83cc985aaf05bd6832529"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2a7674a9b2a83cc985aaf05bd6832529"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_set_flexram_function</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, <a class="el" href="group__flash__driver.html#ga3812bab3ef6aacfbe889b1a81e25c76d">flash_flexram_function_option_t</a> option)</td></tr>
<tr class="separator:a2a7674a9b2a83cc985aaf05bd6832529"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1d1de50a6b5a4016ba021a87353ae89"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1d1de50a6b5a4016ba021a87353ae89"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><b>flash_program_section</b> )(<a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *config, uint32_t start, uint32_t *src, uint32_t lengthInBytes)</td></tr>
<tr class="separator:aa1d1de50a6b5a4016ba021a87353ae89"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>

</div>
</div>
<a name="structbootloader__tree__t" id="structbootloader__tree__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct bootloader_tree_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Root of the bootloader API tree. </p>
<p>An instance of this struct resides in read-only memory in the bootloader. It provides a user application access to APIs exported by the bootloader.</p>
<dl class="section note"><dt>Note</dt><dd>The order of existing fields must not be changed. </dd></dl>
</div><div id="dynsection-2" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-2-trigger" src="closed.png" alt="+"/> Collaboration diagram for bootloader_tree_t:</div>
<div id="dynsection-2-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-2-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structbootloader__tree__t__coll__graph.svg" width="1470" height="570"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:af220392e9a65fe372d7461dcee5e5646"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af220392e9a65fe372d7461dcee5e5646"></a>
void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#af220392e9a65fe372d7461dcee5e5646">runBootloader</a> )(void *arg)</td></tr>
<tr class="memdesc:af220392e9a65fe372d7461dcee5e5646"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to start the bootloader executing. <br /></td></tr>
<tr class="separator:af220392e9a65fe372d7461dcee5e5646"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5805c535f737e9a32670f5a45b50add"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab5805c535f737e9a32670f5a45b50add"></a>
<a class="el" href="group__bl__core.html#unionstandard__version__t">standard_version_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#ab5805c535f737e9a32670f5a45b50add">version</a></td></tr>
<tr class="memdesc:ab5805c535f737e9a32670f5a45b50add"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bootloader version number. <br /></td></tr>
<tr class="separator:ab5805c535f737e9a32670f5a45b50add"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13776449af03dd383861adddf9019515"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13776449af03dd383861adddf9019515"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#a13776449af03dd383861adddf9019515">copyright</a></td></tr>
<tr class="memdesc:a13776449af03dd383861adddf9019515"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copyright string. <br /></td></tr>
<tr class="separator:a13776449af03dd383861adddf9019515"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcb8c3c5ae5cf37d00a4b6fb40c131cb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adcb8c3c5ae5cf37d00a4b6fb40c131cb"></a>
const <a class="el" href="group__context.html#structbootloader__context__t">bootloader_context_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#adcb8c3c5ae5cf37d00a4b6fb40c131cb">runtimeContext</a></td></tr>
<tr class="memdesc:adcb8c3c5ae5cf37d00a4b6fb40c131cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the bootloader's runtime context. <br /></td></tr>
<tr class="separator:adcb8c3c5ae5cf37d00a4b6fb40c131cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab932c172aec4521e6669bf8ae5636e54"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab932c172aec4521e6669bf8ae5636e54"></a>
const <a class="el" href="group__context.html#structflash__driver__interface__t">flash_driver_interface_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#ab932c172aec4521e6669bf8ae5636e54">flashDriver</a></td></tr>
<tr class="memdesc:ab932c172aec4521e6669bf8ae5636e54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flash driver API. <br /></td></tr>
<tr class="separator:ab932c172aec4521e6669bf8ae5636e54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88e810f7a816ce480d545adbde2f1e09"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a88e810f7a816ce480d545adbde2f1e09"></a>
const <a class="el" href="group__context.html#structaes__driver__interface__t">aes_driver_interface_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#a88e810f7a816ce480d545adbde2f1e09">aesDriver</a></td></tr>
<tr class="memdesc:a88e810f7a816ce480d545adbde2f1e09"><td class="mdescLeft">&#160;</td><td class="mdescRight">AES driver API. <br /></td></tr>
<tr class="separator:a88e810f7a816ce480d545adbde2f1e09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3d5fd3a6826d2f1f2b22b09550a9a6b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3d5fd3a6826d2f1f2b22b09550a9a6b"></a>
<a class="el" href="group__bl__core.html#unionstandard__version__t">standard_version_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#af3d5fd3a6826d2f1f2b22b09550a9a6b">bootloader_version</a></td></tr>
<tr class="memdesc:af3d5fd3a6826d2f1f2b22b09550a9a6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bootloader version number. <br /></td></tr>
<tr class="separator:af3d5fd3a6826d2f1f2b22b09550a9a6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9e4f67784c889a437784bc02f7d4779"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad9e4f67784c889a437784bc02f7d4779"></a>
const uint32_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#ad9e4f67784c889a437784bc02f7d4779">reserved</a></td></tr>
<tr class="memdesc:ad9e4f67784c889a437784bc02f7d4779"><td class="mdescLeft">&#160;</td><td class="mdescRight">Do NOT use. <br /></td></tr>
<tr class="separator:ad9e4f67784c889a437784bc02f7d4779"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga95539796ed8672eda06bfc363883a508"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__flash__driver.html#ga95539796ed8672eda06bfc363883a508">_flash_driver_api_keys</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enumeration for flash driver API keys. </p>
<dl class="section note"><dt>Note</dt><dd>The resulting value is built with a byte order such that the string being readable in expected order when viewed in a hex editor, if the value is treated as a 32-bit little endian value. </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga95539796ed8672eda06bfc363883a508a5b52819ce5c4ed6cb099b6f89b7eac56"></a>kFLASH_ApiEraseKey&#160;</td><td class="fielddoc">
<p>Key value used to validate all flash erase APIs. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga95539796ed8672eda06bfc363883a508a5b52819ce5c4ed6cb099b6f89b7eac56"></a>kFLASH_ApiEraseKey&#160;</td><td class="fielddoc">
<p>Key value used to validate all flash erase APIs. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga2cdaf5b1f6b03013e2f0cf2c6d26adae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__flash__driver.html#ga2cdaf5b1f6b03013e2f0cf2c6d26adae">_flash_driver_version_constants</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>FLASH driver version for ROM. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga2cdaf5b1f6b03013e2f0cf2c6d26adaea599e22575bcd9a7aa32a1c7b43591f0b"></a>kFLASH_DriverVersionName&#160;</td><td class="fielddoc">
<p>Flash driver version name. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2cdaf5b1f6b03013e2f0cf2c6d26adaea4735add39aa49ca212b24fbef9fcb952"></a>kFLASH_DriverVersionMajor&#160;</td><td class="fielddoc">
<p>Major flash driver version. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2cdaf5b1f6b03013e2f0cf2c6d26adaeab54b9127ada5f04373dd17edc4e005f4"></a>kFLASH_DriverVersionMinor&#160;</td><td class="fielddoc">
<p>Minor flash driver version. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2cdaf5b1f6b03013e2f0cf2c6d26adaea1a3661a27450809aa90f49d6b01781b3"></a>kFLASH_DriverVersionBugfix&#160;</td><td class="fielddoc">
<p>Bugfix for flash driver version. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2cdaf5b1f6b03013e2f0cf2c6d26adaea599e22575bcd9a7aa32a1c7b43591f0b"></a>kFLASH_DriverVersionName&#160;</td><td class="fielddoc">
<p>Flash driver version name. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2cdaf5b1f6b03013e2f0cf2c6d26adaea4735add39aa49ca212b24fbef9fcb952"></a>kFLASH_DriverVersionMajor&#160;</td><td class="fielddoc">
<p>Major flash driver version. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2cdaf5b1f6b03013e2f0cf2c6d26adaeab54b9127ada5f04373dd17edc4e005f4"></a>kFLASH_DriverVersionMinor&#160;</td><td class="fielddoc">
<p>Minor flash driver version. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2cdaf5b1f6b03013e2f0cf2c6d26adaea1a3661a27450809aa90f49d6b01781b3"></a>kFLASH_DriverVersionBugfix&#160;</td><td class="fielddoc">
<p>Bugfix for flash driver version. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gae76bb8924742f0483f66c4d3917bb31e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__flash__driver.html#gae76bb8924742f0483f66c4d3917bb31e">_flash_execute_in_ram_function_constants</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constants for execute-in-ram flash function. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggae76bb8924742f0483f66c4d3917bb31ea44c47300abac0defba3c515df8d531cd"></a>kFLASH_ExecuteInRamFunctionMaxSize&#160;</td><td class="fielddoc">
<p>Max size of execute-in-ram function. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggae76bb8924742f0483f66c4d3917bb31ea2e18b9dc426a3146df8f959c1c874ce0"></a>kFLASH_ExecuteInRamFunctionTotalNum&#160;</td><td class="fielddoc">
<p>Total number of execute-in-ram functions. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggae76bb8924742f0483f66c4d3917bb31ea44c47300abac0defba3c515df8d531cd"></a>kFLASH_ExecuteInRamFunctionMaxSize&#160;</td><td class="fielddoc">
<p>Max size of execute-in-ram function. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggae76bb8924742f0483f66c4d3917bb31ea2e18b9dc426a3146df8f959c1c874ce0"></a>kFLASH_ExecuteInRamFunctionTotalNum&#160;</td><td class="fielddoc">
<p>Total number of execute-in-ram functions. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gaa4639fd4d4503c0dec9925f749d308b2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__flash__driver.html#gaa4639fd4d4503c0dec9925f749d308b2">_flash_status</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flash driver status codes. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c"></a>kStatus_FLASH_Success&#160;</td><td class="fielddoc">
<p>Api is executed successfully </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867"></a>kStatus_FLASH_InvalidArgument&#160;</td><td class="fielddoc">
<p>Invalid argument </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a6735801bd1fbd61f7d96a07c2c2f9a76"></a>kStatus_FLASH_SizeError&#160;</td><td class="fielddoc">
<p>Error size </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a098148af25679d78133103cace7580ea"></a>kStatus_FLASH_AlignmentError&#160;</td><td class="fielddoc">
<p>Parameter is not aligned with specified baseline </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2acc367a368270606eae83264f59b55211"></a>kStatus_FLASH_AddressError&#160;</td><td class="fielddoc">
<p>Address is out of range </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2ab9e32512512c1ea1508bc2832f2bd528"></a>kStatus_FLASH_AccessError&#160;</td><td class="fielddoc">
<p>Invalid instruction codes and out-of bounds addresses </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2ab406157d740ab0a07df1fc5d2b159fc3"></a>kStatus_FLASH_ProtectionViolation&#160;</td><td class="fielddoc">
<p>The program/erase operation is requested to execute on protected areas </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a42567b719be83f23619c498da80643ed"></a>kStatus_FLASH_CommandFailure&#160;</td><td class="fielddoc">
<p>Run-time error during command execution. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a0ac435d9c4aa24ccb8ab983de1979780"></a>kStatus_FLASH_UnknownProperty&#160;</td><td class="fielddoc">
<p>Unknown property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a9741e88e6013710b11b81e2af7071a92"></a>kStatus_FLASH_EraseKeyError&#160;</td><td class="fielddoc">
<p>Api erase key is invalid. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2aa3ace4bf14ea333efd6189b8ddf47aca"></a>kStatus_FLASH_RegionExecuteOnly&#160;</td><td class="fielddoc">
<p>Current region is execute only. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32"></a>kStatus_FLASH_ExecuteInRamFunctionNotReady&#160;</td><td class="fielddoc">
<p>Execute-in-ram function is not available. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a91eb156935e27973454eb8df37a36c53"></a>kStatus_FLASH_PartitionStatusUpdateFailure&#160;</td><td class="fielddoc">
<p>Failed to update partition status. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2ab8b9f6c116209a00338a430e741a1a40"></a>kStatus_FLASH_SetFlexramAsEepromError&#160;</td><td class="fielddoc">
<p>Failed to set flexram as eeprom. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a128d2d13d9674d46619a5c698bc7a7b9"></a>kStatus_FLASH_RecoverFlexramAsRamError&#160;</td><td class="fielddoc">
<p>Failed to recover flexram as ram. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2abf40cb19a8c5af9880414ef5f9be1c6d"></a>kStatus_FLASH_SetFlexramAsRamError&#160;</td><td class="fielddoc">
<p>Failed to set flexram as ram. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2aa7652faf3cc559ccda57f8aea502045b"></a>kStatus_FLASH_RecoverFlexramAsEepromError&#160;</td><td class="fielddoc">
<p>Failed to recover flexram as eeprom. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2ab032e11743a3397f9c81afac3faa9c25"></a>kStatus_FLASH_CommandNotSupported&#160;</td><td class="fielddoc">
<p>Flash api is not supported. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a5e0c3747a74458caefc231b995f09679"></a>kStatus_FLASH_SwapSystemNotInUninitialized&#160;</td><td class="fielddoc">
<p>Swap system is not in uninitialzed state. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2aefaeaf1008f0361fb3ff2d051720cd82"></a>kStatus_FLASH_SwapIndicatorAddressError&#160;</td><td class="fielddoc">
<p>Swap indicator address is invalid. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c"></a>kStatus_FLASH_Success&#160;</td><td class="fielddoc">
<p>Api is executed successfully </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867"></a>kStatus_FLASH_InvalidArgument&#160;</td><td class="fielddoc">
<p>Invalid argument </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a6735801bd1fbd61f7d96a07c2c2f9a76"></a>kStatus_FLASH_SizeError&#160;</td><td class="fielddoc">
<p>Error size </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a098148af25679d78133103cace7580ea"></a>kStatus_FLASH_AlignmentError&#160;</td><td class="fielddoc">
<p>Parameter is not aligned with specified baseline </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2acc367a368270606eae83264f59b55211"></a>kStatus_FLASH_AddressError&#160;</td><td class="fielddoc">
<p>Address is out of range </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2ab9e32512512c1ea1508bc2832f2bd528"></a>kStatus_FLASH_AccessError&#160;</td><td class="fielddoc">
<p>Invalid instruction codes and out-of bounds addresses </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2ab406157d740ab0a07df1fc5d2b159fc3"></a>kStatus_FLASH_ProtectionViolation&#160;</td><td class="fielddoc">
<p>The program/erase operation is requested to execute on protected areas </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a42567b719be83f23619c498da80643ed"></a>kStatus_FLASH_CommandFailure&#160;</td><td class="fielddoc">
<p>Run-time error during command execution. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a0ac435d9c4aa24ccb8ab983de1979780"></a>kStatus_FLASH_UnknownProperty&#160;</td><td class="fielddoc">
<p>Unknown property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a9741e88e6013710b11b81e2af7071a92"></a>kStatus_FLASH_EraseKeyError&#160;</td><td class="fielddoc">
<p>Api erase key is invalid. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2aa3ace4bf14ea333efd6189b8ddf47aca"></a>kStatus_FLASH_RegionExecuteOnly&#160;</td><td class="fielddoc">
<p>Current region is execute only. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32"></a>kStatus_FLASH_ExecuteInRamFunctionNotReady&#160;</td><td class="fielddoc">
<p>Execute-in-ram function is not available. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a91eb156935e27973454eb8df37a36c53"></a>kStatus_FLASH_PartitionStatusUpdateFailure&#160;</td><td class="fielddoc">
<p>Failed to update partition status. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2ab8b9f6c116209a00338a430e741a1a40"></a>kStatus_FLASH_SetFlexramAsEepromError&#160;</td><td class="fielddoc">
<p>Failed to set flexram as eeprom. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a128d2d13d9674d46619a5c698bc7a7b9"></a>kStatus_FLASH_RecoverFlexramAsRamError&#160;</td><td class="fielddoc">
<p>Failed to recover flexram as ram. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2abf40cb19a8c5af9880414ef5f9be1c6d"></a>kStatus_FLASH_SetFlexramAsRamError&#160;</td><td class="fielddoc">
<p>Failed to set flexram as ram. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2aa7652faf3cc559ccda57f8aea502045b"></a>kStatus_FLASH_RecoverFlexramAsEepromError&#160;</td><td class="fielddoc">
<p>Failed to recover flexram as eeprom. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2ab032e11743a3397f9c81afac3faa9c25"></a>kStatus_FLASH_CommandNotSupported&#160;</td><td class="fielddoc">
<p>Flash api is not supported. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2a5e0c3747a74458caefc231b995f09679"></a>kStatus_FLASH_SwapSystemNotInUninitialized&#160;</td><td class="fielddoc">
<p>Swap system is not in uninitialzed state. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa4639fd4d4503c0dec9925f749d308b2aefaeaf1008f0361fb3ff2d051720cd82"></a>kStatus_FLASH_SwapIndicatorAddressError&#160;</td><td class="fielddoc">
<p>Swap indicator address is invalid. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gad38961e5692f64548dbf84d652b9ccde"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__flash__driver.html#gad38961e5692f64548dbf84d652b9ccde">flash_execute_only_access_state_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enumeration for the three possible flash execute access levels. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggad38961e5692f64548dbf84d652b9ccdea38101c1bc20b060f8fa2f5ac43a04f66"></a>kFLASH_AccessStateUnLimited&#160;</td><td class="fielddoc">
<p>Flash region is unLimited. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggad38961e5692f64548dbf84d652b9ccdeae275896979de1eca572ae3c7449148f1"></a>kFLASH_AccessStateExecuteOnly&#160;</td><td class="fielddoc">
<p>Flash region is execute only. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggad38961e5692f64548dbf84d652b9ccdea0b22f0d8b1f43e064f04d12659293c38"></a>kFLASH_AccessStateMixed&#160;</td><td class="fielddoc">
<p>Flash is mixed with unLimited and execute only region. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggad38961e5692f64548dbf84d652b9ccdea38101c1bc20b060f8fa2f5ac43a04f66"></a>kFLASH_AccessStateUnLimited&#160;</td><td class="fielddoc">
<p>Flash region is unLimited. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggad38961e5692f64548dbf84d652b9ccdeae275896979de1eca572ae3c7449148f1"></a>kFLASH_AccessStateExecuteOnly&#160;</td><td class="fielddoc">
<p>Flash region is execute only. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggad38961e5692f64548dbf84d652b9ccdea0b22f0d8b1f43e064f04d12659293c38"></a>kFLASH_AccessStateMixed&#160;</td><td class="fielddoc">
<p>Flash is mixed with unLimited and execute only region. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga2105f5de393a06479e62141dab8dd3fc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__flash__driver.html#ga2105f5de393a06479e62141dab8dd3fc">flash_margin_value_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enumeration for supported flash margin levels. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga2105f5de393a06479e62141dab8dd3fca9071189977c1f756d42d710288cfb6be"></a>kFLASH_MarginValueNormal&#160;</td><td class="fielddoc">
<p>Use the 'normal' read level for 1s. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2105f5de393a06479e62141dab8dd3fca1c1271a7e38d4e062e202730f6a5ebed"></a>kFLASH_MarginValueUser&#160;</td><td class="fielddoc">
<p>Apply the 'User' margin to the normal read-1 level. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2105f5de393a06479e62141dab8dd3fcadc331ba6a0e6de26eb5c1e755136608d"></a>kFLASH_MarginValueFactory&#160;</td><td class="fielddoc">
<p>Apply the 'Factory' margin to the normal read-1 level. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2105f5de393a06479e62141dab8dd3fcaa297e7607bb0ccefbe181d1f1d828deb"></a>kFLASH_MarginValueInvalid&#160;</td><td class="fielddoc">
<p>Not real margin level, Used to determine the range of valid margin level. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2105f5de393a06479e62141dab8dd3fca9071189977c1f756d42d710288cfb6be"></a>kFLASH_MarginValueNormal&#160;</td><td class="fielddoc">
<p>Use the 'normal' read level for 1s. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2105f5de393a06479e62141dab8dd3fca1c1271a7e38d4e062e202730f6a5ebed"></a>kFLASH_MarginValueUser&#160;</td><td class="fielddoc">
<p>Apply the 'User' margin to the normal read-1 level. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2105f5de393a06479e62141dab8dd3fcadc331ba6a0e6de26eb5c1e755136608d"></a>kFLASH_MarginValueFactory&#160;</td><td class="fielddoc">
<p>Apply the 'Factory' margin to the normal read-1 level. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2105f5de393a06479e62141dab8dd3fcaa297e7607bb0ccefbe181d1f1d828deb"></a>kFLASH_MarginValueInvalid&#160;</td><td class="fielddoc">
<p>Not real margin level, Used to determine the range of valid margin level. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga7b6766fe08a63cf92a5e2a90dd6d010f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__flash__driver.html#ga7b6766fe08a63cf92a5e2a90dd6d010f">flash_property_tag_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enumeration for various flash properties. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010faa6c433411ecb4bfea9d74504e266e219"></a>kFLASH_PropertyPflashSectorSize&#160;</td><td class="fielddoc">
<p>Pflash sector size property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa68caa1558315b7704b08d85c42869eb5"></a>kFLASH_PropertyPflashTotalSize&#160;</td><td class="fielddoc">
<p>Pflash total size property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fad8c3b85ca1dc8fc5ef03e1954aef873e"></a>kFLASH_PropertyPflashBlockSize&#160;</td><td class="fielddoc">
<p>Pflash block size property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fabb40541593520b9c1a87648a26e81957"></a>kFLASH_PropertyPflashBlockCount&#160;</td><td class="fielddoc">
<p>Pflash block count property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa0159abfba4e6ca47c70a89ea2fc24ab9"></a>kFLASH_PropertyPflashBlockBaseAddr&#160;</td><td class="fielddoc">
<p>Pflash block base address property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa82ed61ee8b06813070ded3e06675e07c"></a>kFLASH_PropertyPflashFacSupport&#160;</td><td class="fielddoc">
<p>Pflash fac support property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fab1ff313c13a7c4c9794c97d894c784d1"></a>kFLASH_PropertyPflashAccessSegmentSize&#160;</td><td class="fielddoc">
<p>Pflash access segment size property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fad73e31438b9bf8ea5d95e4807371e414"></a>kFLASH_PropertyPflashAccessSegmentCount&#160;</td><td class="fielddoc">
<p>Pflash access segment count property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa9ca389a1c885600feb6900b0d34f7c14"></a>kFLASH_PropertyFlexRamBlockBaseAddr&#160;</td><td class="fielddoc">
<p>FlexRam block base address property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa062cdf2d78e722b71b6037eb6f60cbf4"></a>kFLASH_PropertyFlexRamTotalSize&#160;</td><td class="fielddoc">
<p>FlexRam total size property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa51190ea2cbee3594588931079b0c7fc6"></a>kFLASH_PropertyDflashSectorSize&#160;</td><td class="fielddoc">
<p>Dflash sector size property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa4a988286f54bb8572af9487870bbb32c"></a>kFLASH_PropertyDflashTotalSize&#160;</td><td class="fielddoc">
<p>Dflash total size property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa4229b9f10be15a5169dc4b6e011536e3"></a>kFLASH_PropertyDflashBlockSize&#160;</td><td class="fielddoc">
<p>Dflash block count property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fad6ce4a3ff01396a5d61fdba8bbd2bb9d"></a>kFLASH_PropertyDflashBlockCount&#160;</td><td class="fielddoc">
<p>Dflash block base address property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa8ec2b47abac2083b760dd47d9bebcde0"></a>kFLASH_PropertyDflashBlockBaseAddr&#160;</td><td class="fielddoc">
<p>Eeprom total size property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010faa6c433411ecb4bfea9d74504e266e219"></a>kFLASH_PropertyPflashSectorSize&#160;</td><td class="fielddoc">
<p>Pflash sector size property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa68caa1558315b7704b08d85c42869eb5"></a>kFLASH_PropertyPflashTotalSize&#160;</td><td class="fielddoc">
<p>Pflash total size property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fad8c3b85ca1dc8fc5ef03e1954aef873e"></a>kFLASH_PropertyPflashBlockSize&#160;</td><td class="fielddoc">
<p>Pflash block size property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fabb40541593520b9c1a87648a26e81957"></a>kFLASH_PropertyPflashBlockCount&#160;</td><td class="fielddoc">
<p>Pflash block count property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa0159abfba4e6ca47c70a89ea2fc24ab9"></a>kFLASH_PropertyPflashBlockBaseAddr&#160;</td><td class="fielddoc">
<p>Pflash block base address property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa82ed61ee8b06813070ded3e06675e07c"></a>kFLASH_PropertyPflashFacSupport&#160;</td><td class="fielddoc">
<p>Pflash fac support property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fab1ff313c13a7c4c9794c97d894c784d1"></a>kFLASH_PropertyPflashAccessSegmentSize&#160;</td><td class="fielddoc">
<p>Pflash access segment size property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fad73e31438b9bf8ea5d95e4807371e414"></a>kFLASH_PropertyPflashAccessSegmentCount&#160;</td><td class="fielddoc">
<p>Pflash access segment count property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa9ca389a1c885600feb6900b0d34f7c14"></a>kFLASH_PropertyFlexRamBlockBaseAddr&#160;</td><td class="fielddoc">
<p>FlexRam block base address property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa062cdf2d78e722b71b6037eb6f60cbf4"></a>kFLASH_PropertyFlexRamTotalSize&#160;</td><td class="fielddoc">
<p>FlexRam total size property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa51190ea2cbee3594588931079b0c7fc6"></a>kFLASH_PropertyDflashSectorSize&#160;</td><td class="fielddoc">
<p>Dflash sector size property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa4a988286f54bb8572af9487870bbb32c"></a>kFLASH_PropertyDflashTotalSize&#160;</td><td class="fielddoc">
<p>Dflash total size property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa4229b9f10be15a5169dc4b6e011536e3"></a>kFLASH_PropertyDflashBlockSize&#160;</td><td class="fielddoc">
<p>Dflash block size property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fad6ce4a3ff01396a5d61fdba8bbd2bb9d"></a>kFLASH_PropertyDflashBlockCount&#160;</td><td class="fielddoc">
<p>Dflash block count property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fa8ec2b47abac2083b760dd47d9bebcde0"></a>kFLASH_PropertyDflashBlockBaseAddr&#160;</td><td class="fielddoc">
<p>Dflash block base property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fab3520a58d0f8494d3d7e987d30cee6ed"></a>kFLASH_PropertyEepromTotalSize&#160;</td><td class="fielddoc">
<p>Eeprom total size property. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga7b6766fe08a63cf92a5e2a90dd6d010fab97130fd3296506b436e5ded0313ce33"></a>kFLASH_PropertyVersion&#160;</td><td class="fielddoc">
<p>Flash driver version property. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga9378245c649eebea9451367d6b8f9ce2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__flash__driver.html#ga9378245c649eebea9451367d6b8f9ce2">flash_protection_state_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enumeration for the three possible flash protection levels. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga9378245c649eebea9451367d6b8f9ce2ace4690203221c04a4e00de6278a59f1e"></a>kFLASH_ProtectionStateUnprotected&#160;</td><td class="fielddoc">
<p>Flash region is not protected. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga9378245c649eebea9451367d6b8f9ce2a2c73fefaf7e6e3a065744be1aab71149"></a>kFLASH_ProtectionStateProtected&#160;</td><td class="fielddoc">
<p>Flash region is protected. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga9378245c649eebea9451367d6b8f9ce2aca2ca63f9c507495e7b0f510b69497bb"></a>kFLASH_ProtectionStateMixed&#160;</td><td class="fielddoc">
<p>Flash is mixed with protected and unprotected region. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga9378245c649eebea9451367d6b8f9ce2ace4690203221c04a4e00de6278a59f1e"></a>kFLASH_ProtectionStateUnprotected&#160;</td><td class="fielddoc">
<p>Flash region is not protected. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga9378245c649eebea9451367d6b8f9ce2a2c73fefaf7e6e3a065744be1aab71149"></a>kFLASH_ProtectionStateProtected&#160;</td><td class="fielddoc">
<p>Flash region is protected. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga9378245c649eebea9451367d6b8f9ce2aca2ca63f9c507495e7b0f510b69497bb"></a>kFLASH_ProtectionStateMixed&#160;</td><td class="fielddoc">
<p>Flash is mixed with protected and unprotected region. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga70d45ebc64d50e9868f7016c8a417c51"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__flash__driver.html#ga70d45ebc64d50e9868f7016c8a417c51">flash_read_resource_option_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enumeration for the two possible options of flash read resource command. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga70d45ebc64d50e9868f7016c8a417c51a80bd0a5fe1432c2a97a3bd8e4a5320ab"></a>kFLASH_ResourceOptionFlashIfr&#160;</td><td class="fielddoc">
<p>Select code for Program flash 0 IFR, Program flash swap 0 IFR, Data flash 0 IFR </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga70d45ebc64d50e9868f7016c8a417c51a900b2f3a7dbd7260d7883fe9fa816c6d"></a>kFLASH_ResourceOptionVersionId&#160;</td><td class="fielddoc">
<p>Select code for Version ID </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga70d45ebc64d50e9868f7016c8a417c51a80bd0a5fe1432c2a97a3bd8e4a5320ab"></a>kFLASH_ResourceOptionFlashIfr&#160;</td><td class="fielddoc">
<p>Select code for Program flash 0 IFR, Program flash swap 0 IFR, Data flash 0 IFR </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga70d45ebc64d50e9868f7016c8a417c51a900b2f3a7dbd7260d7883fe9fa816c6d"></a>kFLASH_ResourceOptionVersionId&#160;</td><td class="fielddoc">
<p>Select code for Version ID </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga00b3eb2666116e617f6e45a10218f6a9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__flash__driver.html#ga00b3eb2666116e617f6e45a10218f6a9">flash_security_state_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enumeration for the three possible flash security states. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga00b3eb2666116e617f6e45a10218f6a9ad48939abe53a98896541d2ee1e7bf752"></a>kFLASH_SecurityStateNotSecure&#160;</td><td class="fielddoc">
<p>Flash is not secure. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga00b3eb2666116e617f6e45a10218f6a9a4c4da1c4c06977cc999930f75f38ecc7"></a>kFLASH_SecurityStateBackdoorEnabled&#160;</td><td class="fielddoc">
<p>Flash backdoor is enabled. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga00b3eb2666116e617f6e45a10218f6a9a5c7043f3abad4e8d65f12179c4636dc2"></a>kFLASH_SecurityStateBackdoorDisabled&#160;</td><td class="fielddoc">
<p>Flash backdoor is disabled. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga00b3eb2666116e617f6e45a10218f6a9ad48939abe53a98896541d2ee1e7bf752"></a>kFLASH_SecurityStateNotSecure&#160;</td><td class="fielddoc">
<p>Flash is not secure. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga00b3eb2666116e617f6e45a10218f6a9a4c4da1c4c06977cc999930f75f38ecc7"></a>kFLASH_SecurityStateBackdoorEnabled&#160;</td><td class="fielddoc">
<p>Flash backdoor is enabled. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga00b3eb2666116e617f6e45a10218f6a9a5c7043f3abad4e8d65f12179c4636dc2"></a>kFLASH_SecurityStateBackdoorDisabled&#160;</td><td class="fielddoc">
<p>Flash backdoor is disabled. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gae9cb58f4cf76fec37631c4f344e2fb10"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_Erase </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>lengthInBytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Erases flash sectors encompassed by parameters passed into function. </p>
<p>This function erases the appropriate number of flash sectors based on the desired start address and length.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state. </td></tr>
    <tr><td class="paramname">start</td><td>The start address of the desired flash memory to be erased. The start address does not need to be sector aligned but must be word-aligned. </td></tr>
    <tr><td class="paramname">lengthInBytes</td><td>The length, given in bytes (not words or long-words) to be erased. Must be word aligned. </td></tr>
    <tr><td class="paramname">key</td><td>value used to validate all flash erase APIs.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a098148af25679d78133103cace7580ea">kStatus_FLASH_AlignmentError</a></td><td>Parameter is not aligned with specified baseline. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2acc367a368270606eae83264f59b55211">kStatus_FLASH_AddressError</a></td><td>Address is out of range. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a9741e88e6013710b11b81e2af7071a92">kStatus_FLASH_EraseKeyError</a></td><td>Api erase key is invalid. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32">kStatus_FLASH_ExecuteInRamFunctionNotReady</a></td><td>Execute-in-ram function is not available. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab9e32512512c1ea1508bc2832f2bd528">kStatus_FLASH_AccessError</a></td><td>Invalid instruction codes and out-of bounds addresses. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab406157d740ab0a07df1fc5d2b159fc3">kStatus_FLASH_ProtectionViolation</a></td><td>The program/erase operation is requested to execute on protected areas. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a42567b719be83f23619c498da80643ed">kStatus_FLASH_CommandFailure</a></td><td>Run-time error during command execution. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga620aad3b28de9e89e3297bd1bbcd5618"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_EraseAll </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Erases entire flash. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state. </td></tr>
    <tr><td class="paramname">key</td><td>value used to validate all flash erase APIs.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a9741e88e6013710b11b81e2af7071a92">kStatus_FLASH_EraseKeyError</a></td><td>Api erase key is invalid. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32">kStatus_FLASH_ExecuteInRamFunctionNotReady</a></td><td>Execute-in-ram function is not available. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab9e32512512c1ea1508bc2832f2bd528">kStatus_FLASH_AccessError</a></td><td>Invalid instruction codes and out-of bounds addresses. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab406157d740ab0a07df1fc5d2b159fc3">kStatus_FLASH_ProtectionViolation</a></td><td>The program/erase operation is requested to execute on protected areas. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a42567b719be83f23619c498da80643ed">kStatus_FLASH_CommandFailure</a></td><td>Run-time error during command execution. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a91eb156935e27973454eb8df37a36c53">kStatus_FLASH_PartitionStatusUpdateFailure</a></td><td>Failed to update partition status </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad39d36451aef62e097b545518ef984f6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_EraseAllExecuteOnlySegments </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Erases all program flash execute-only segments defined by the FXACC registers. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state. </td></tr>
    <tr><td class="paramname">key</td><td>value used to validate all flash erase APIs.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a9741e88e6013710b11b81e2af7071a92">kStatus_FLASH_EraseKeyError</a></td><td>Api erase key is invalid. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32">kStatus_FLASH_ExecuteInRamFunctionNotReady</a></td><td>Execute-in-ram function is not available. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab9e32512512c1ea1508bc2832f2bd528">kStatus_FLASH_AccessError</a></td><td>Invalid instruction codes and out-of bounds addresses. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab406157d740ab0a07df1fc5d2b159fc3">kStatus_FLASH_ProtectionViolation</a></td><td>The program/erase operation is requested to execute on protected areas. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a42567b719be83f23619c498da80643ed">kStatus_FLASH_CommandFailure</a></td><td>Run-time error during command execution. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga922c2d91287b65b805e2b6f115340af4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_EraseAllUnsecure </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Erases entire flash, including protected sectors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state. </td></tr>
    <tr><td class="paramname">key</td><td>value used to validate all flash erase APIs.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a9741e88e6013710b11b81e2af7071a92">kStatus_FLASH_EraseKeyError</a></td><td>Api erase key is invalid. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32">kStatus_FLASH_ExecuteInRamFunctionNotReady</a></td><td>Execute-in-ram function is not available. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab9e32512512c1ea1508bc2832f2bd528">kStatus_FLASH_AccessError</a></td><td>Invalid instruction codes and out-of bounds addresses. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab406157d740ab0a07df1fc5d2b159fc3">kStatus_FLASH_ProtectionViolation</a></td><td>The program/erase operation is requested to execute on protected areas. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a42567b719be83f23619c498da80643ed">kStatus_FLASH_CommandFailure</a></td><td>Run-time error during command execution. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a91eb156935e27973454eb8df37a36c53">kStatus_FLASH_PartitionStatusUpdateFailure</a></td><td>Failed to update partition status </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gafd0d83bc8fec50fe9a9121d2ec906697"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_GetProperty </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#ga7b6766fe08a63cf92a5e2a90dd6d010f">flash_property_tag_t</a>&#160;</td>
          <td class="paramname"><em>whichProperty</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the desired flash property. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state. </td></tr>
    <tr><td class="paramname">whichProperty</td><td>The desired property from the list of properties in enum flash_property_tag_t </td></tr>
    <tr><td class="paramname">value</td><td>Pointer to the value returned for the desired flash property</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a0ac435d9c4aa24ccb8ab983de1979780">kStatus_FLASH_UnknownProperty</a></td><td>unknown property tag </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gac228a2b25c575e489b47ac3c0652a50a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_GetSecurityState </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#ga00b3eb2666116e617f6e45a10218f6a9">flash_security_state_t</a> *&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the security state via the pointer passed into the function. </p>
<p>This function retrieves the current Flash security status, including the security enabling state and the backdoor key enabling state.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state. </td></tr>
    <tr><td class="paramname">state</td><td>Pointer to the value returned for the current security status code:</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga19c10d3524010a2d33369855d74a5c04"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_Init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes global flash properties structure members. </p>
<p>This function checks and initializes Flash module for the other Flash APIs.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32">kStatus_FLASH_ExecuteInRamFunctionNotReady</a></td><td>Execute-in-ram function is not available. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a91eb156935e27973454eb8df37a36c53">kStatus_FLASH_PartitionStatusUpdateFailure</a></td><td>Failed to update partition status. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga288c88008135094a458b0464aca7724a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_IsExecuteOnly </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>lengthInBytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#gad38961e5692f64548dbf84d652b9ccde">flash_execute_only_access_state_t</a> *&#160;</td>
          <td class="paramname"><em>access_state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the access state of desired flash area via the pointer passed into the function. </p>
<p>This function retrieves the current Flash access status for a given flash area as determined by the start address and length.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state. </td></tr>
    <tr><td class="paramname">start</td><td>The start address of the desired flash memory to be checked. Must be word-aligned. </td></tr>
    <tr><td class="paramname">lengthInBytes</td><td>The length, given in bytes (not words or long-words) to be checked. Must be word-aligned. </td></tr>
    <tr><td class="paramname">access_state</td><td>Pointer to the value returned for the current access status code for the desired flash area.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a098148af25679d78133103cace7580ea">kStatus_FLASH_AlignmentError</a></td><td>Parameter is not aligned with specified baseline. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2acc367a368270606eae83264f59b55211">kStatus_FLASH_AddressError</a></td><td>Address is out of range. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gab69bf91c617921217e0c5f302cc33daf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_PrepareExecuteInRamFunctions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Prepare flash execute-in-ram functions. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaac44aa0a054e62adb306bf4910a99bd4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_Program </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>lengthInBytes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Programs flash with data at locations passed in through parameters. </p>
<p>This function programs the flash memory with desired data for a given flash area as determined by the start address and length.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state. </td></tr>
    <tr><td class="paramname">start</td><td>The start address of the desired flash memory to be programmed. Must be word-aligned. </td></tr>
    <tr><td class="paramname">src</td><td>Pointer to the source buffer of data that is to be programmed into the flash. </td></tr>
    <tr><td class="paramname">lengthInBytes</td><td>The length, given in bytes (not words or long-words) to be programmed. Must be word-aligned.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a098148af25679d78133103cace7580ea">kStatus_FLASH_AlignmentError</a></td><td>Parameter is not aligned with specified baseline. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2acc367a368270606eae83264f59b55211">kStatus_FLASH_AddressError</a></td><td>Address is out of range. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32">kStatus_FLASH_ExecuteInRamFunctionNotReady</a></td><td>Execute-in-ram function is not available. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab9e32512512c1ea1508bc2832f2bd528">kStatus_FLASH_AccessError</a></td><td>Invalid instruction codes and out-of bounds addresses. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab406157d740ab0a07df1fc5d2b159fc3">kStatus_FLASH_ProtectionViolation</a></td><td>The program/erase operation is requested to execute on protected areas. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a42567b719be83f23619c498da80643ed">kStatus_FLASH_CommandFailure</a></td><td>Run-time error during command execution. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga7e45501b1e1c6ddd5b10a76e422c4d29"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_ProgramOnce </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>lengthInBytes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Programs Program Once Field through parameters. </p>
<p>This function programs the Program Once Field with desired data for a given flash area as determined by the index and length.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state. </td></tr>
    <tr><td class="paramname">index</td><td>The index indicating which area of Program Once Field to be programmed. </td></tr>
    <tr><td class="paramname">src</td><td>Pointer to the source buffer of data that is to be programmed into the Program Once Field. </td></tr>
    <tr><td class="paramname">lengthInBytes</td><td>The length, given in bytes (not words or long-words) to be programmed. Must be word-aligned.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32">kStatus_FLASH_ExecuteInRamFunctionNotReady</a></td><td>Execute-in-ram function is not available. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab9e32512512c1ea1508bc2832f2bd528">kStatus_FLASH_AccessError</a></td><td>Invalid instruction codes and out-of bounds addresses. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab406157d740ab0a07df1fc5d2b159fc3">kStatus_FLASH_ProtectionViolation</a></td><td>The program/erase operation is requested to execute on protected areas. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a42567b719be83f23619c498da80643ed">kStatus_FLASH_CommandFailure</a></td><td>Run-time error during command execution. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga3921a84a4dc5f7f824d6816d17cbc55b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_ReadOnce </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>lengthInBytes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read Program Once Field through parameters. </p>
<p>This function reads the read once feild with given index and length</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state. </td></tr>
    <tr><td class="paramname">index</td><td>The index indicating the area of program once field to be read. </td></tr>
    <tr><td class="paramname">dst</td><td>Pointer to the destination buffer of data that is used to store data to be read. </td></tr>
    <tr><td class="paramname">lengthInBytes</td><td>The length, given in bytes (not words or long-words) to be programmed. Must be word-aligned.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32">kStatus_FLASH_ExecuteInRamFunctionNotReady</a></td><td>Execute-in-ram function is not available. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab9e32512512c1ea1508bc2832f2bd528">kStatus_FLASH_AccessError</a></td><td>Invalid instruction codes and out-of bounds addresses. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab406157d740ab0a07df1fc5d2b159fc3">kStatus_FLASH_ProtectionViolation</a></td><td>The program/erase operation is requested to execute on protected areas. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a42567b719be83f23619c498da80643ed">kStatus_FLASH_CommandFailure</a></td><td>Run-time error during command execution. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad9ffbb7b82028934b864dd6fb359df92"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_ReadResource </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>lengthInBytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#ga70d45ebc64d50e9868f7016c8a417c51">flash_read_resource_option_t</a>&#160;</td>
          <td class="paramname"><em>option</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read resource with data at locations passed in through parameters. </p>
<p>This function reads the flash memory with desired location for a given flash area as determined by the start address and length.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state. </td></tr>
    <tr><td class="paramname">start</td><td>The start address of the desired flash memory to be programmed. Must be word-aligned. </td></tr>
    <tr><td class="paramname">dst</td><td>Pointer to the destination buffer of data that is used to store data to be read. </td></tr>
    <tr><td class="paramname">lengthInBytes</td><td>The length, given in bytes (not words or long-words) to be read. Must be word-aligned. </td></tr>
    <tr><td class="paramname">option</td><td>The resource option which indicates which area should be read back.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a098148af25679d78133103cace7580ea">kStatus_FLASH_AlignmentError</a></td><td>Parameter is not aligned with specified baseline. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32">kStatus_FLASH_ExecuteInRamFunctionNotReady</a></td><td>Execute-in-ram function is not available. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab9e32512512c1ea1508bc2832f2bd528">kStatus_FLASH_AccessError</a></td><td>Invalid instruction codes and out-of bounds addresses. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab406157d740ab0a07df1fc5d2b159fc3">kStatus_FLASH_ProtectionViolation</a></td><td>The program/erase operation is requested to execute on protected areas. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a42567b719be83f23619c498da80643ed">kStatus_FLASH_CommandFailure</a></td><td>Run-time error during command execution. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gae54de3df1d9c73f19b1bd2ad713c2607"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_SecurityBypass </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>backdoorKey</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allows user to bypass security with a backdoor key. </p>
<p>If the MCU is in secured state, this function will unsecure the MCU by comparing the provided backdoor key with ones in the Flash Configuration Field.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state. </td></tr>
    <tr><td class="paramname">backdoorKey</td><td>Pointer to the user buffer containing the backdoor key.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32">kStatus_FLASH_ExecuteInRamFunctionNotReady</a></td><td>Execute-in-ram function is not available. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab9e32512512c1ea1508bc2832f2bd528">kStatus_FLASH_AccessError</a></td><td>Invalid instruction codes and out-of bounds addresses. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab406157d740ab0a07df1fc5d2b159fc3">kStatus_FLASH_ProtectionViolation</a></td><td>The program/erase operation is requested to execute on protected areas. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a42567b719be83f23619c498da80643ed">kStatus_FLASH_CommandFailure</a></td><td>Run-time error during command execution. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaa89a4c7704b471af58c2d0f629a87ff4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_SetCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__flash__driver__api.html#ga67c22466713ef09903b07a56e1c2a050">flash_callback_t</a>&#160;</td>
          <td class="paramname"><em>callback</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the desired flash callback function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state. </td></tr>
    <tr><td class="paramname">callback</td><td>callback function to be stored in driver</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaf88e46a975e29f113fd29798aeb5b66c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_VerifyErase </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>lengthInBytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#ga2105f5de393a06479e62141dab8dd3fc">flash_margin_value_t</a>&#160;</td>
          <td class="paramname"><em>margin</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Verifies erasure of desired flash area at specified margin level. </p>
<p>This function will check the appropriate number of flash sectors based on the desired start address and length to see if the flash have been erased to the specified read margin level.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state. </td></tr>
    <tr><td class="paramname">start</td><td>The start address of the desired flash memory to be verified. The start address does not need to be sector aligned but must be word-aligned. </td></tr>
    <tr><td class="paramname">lengthInBytes</td><td>The length, given in bytes (not words or long-words) to be verified. Must be word-aligned. </td></tr>
    <tr><td class="paramname">margin</td><td>Read margin choice</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a098148af25679d78133103cace7580ea">kStatus_FLASH_AlignmentError</a></td><td>Parameter is not aligned with specified baseline. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2acc367a368270606eae83264f59b55211">kStatus_FLASH_AddressError</a></td><td>Address is out of range. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32">kStatus_FLASH_ExecuteInRamFunctionNotReady</a></td><td>Execute-in-ram function is not available. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab9e32512512c1ea1508bc2832f2bd528">kStatus_FLASH_AccessError</a></td><td>Invalid instruction codes and out-of bounds addresses. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab406157d740ab0a07df1fc5d2b159fc3">kStatus_FLASH_ProtectionViolation</a></td><td>The program/erase operation is requested to execute on protected areas. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a42567b719be83f23619c498da80643ed">kStatus_FLASH_CommandFailure</a></td><td>Run-time error during command execution. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga85a55ca1a9dcdd134989e6c722007db6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_VerifyEraseAll </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#ga2105f5de393a06479e62141dab8dd3fc">flash_margin_value_t</a>&#160;</td>
          <td class="paramname"><em>margin</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Verifies erasure of entire flash at specified margin level. </p>
<p>This function will check to see if the flash have been erased to the specified read margin level.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state. </td></tr>
    <tr><td class="paramname">margin</td><td>Read margin choice</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32">kStatus_FLASH_ExecuteInRamFunctionNotReady</a></td><td>Execute-in-ram function is not available. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab9e32512512c1ea1508bc2832f2bd528">kStatus_FLASH_AccessError</a></td><td>Invalid instruction codes and out-of bounds addresses. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab406157d740ab0a07df1fc5d2b159fc3">kStatus_FLASH_ProtectionViolation</a></td><td>The program/erase operation is requested to execute on protected areas. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a42567b719be83f23619c498da80643ed">kStatus_FLASH_CommandFailure</a></td><td>Run-time error during command execution. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gab15b9e74df82e1ebc15c802c34eaeaab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_VerifyEraseAllExecuteOnlySegments </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#ga2105f5de393a06479e62141dab8dd3fc">flash_margin_value_t</a>&#160;</td>
          <td class="paramname"><em>margin</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Verifies if the program flash executeonly segments have been erased to the specified read margin level. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state. </td></tr>
    <tr><td class="paramname">margin</td><td>Read margin choice</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32">kStatus_FLASH_ExecuteInRamFunctionNotReady</a></td><td>Execute-in-ram function is not available. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab9e32512512c1ea1508bc2832f2bd528">kStatus_FLASH_AccessError</a></td><td>Invalid instruction codes and out-of bounds addresses. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab406157d740ab0a07df1fc5d2b159fc3">kStatus_FLASH_ProtectionViolation</a></td><td>The program/erase operation is requested to execute on protected areas. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a42567b719be83f23619c498da80643ed">kStatus_FLASH_CommandFailure</a></td><td>Run-time error during command execution. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga17820a03a93127cf52f6e7b5ed830c8b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLASH_VerifyProgram </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#structflash__config__t">flash_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>lengthInBytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint32_t *&#160;</td>
          <td class="paramname"><em>expectedData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__flash__driver.html#ga2105f5de393a06479e62141dab8dd3fc">flash_margin_value_t</a>&#160;</td>
          <td class="paramname"><em>margin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>failedAddress</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>failedData</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Verifies programming of desired flash area at specified margin level. </p>
<p>This function verifies the data programed in the flash memory using the Flash Program Check Command and compares it with expected data for a given flash area as determined by the start address and length.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>Pointer to storage for the driver runtime state. </td></tr>
    <tr><td class="paramname">start</td><td>The start address of the desired flash memory to be verified. Must be word-aligned. </td></tr>
    <tr><td class="paramname">lengthInBytes</td><td>The length, given in bytes (not words or long-words) to be verified. Must be word-aligned. </td></tr>
    <tr><td class="paramname">expectedData</td><td>Pointer to the expected data that is to be verified against. </td></tr>
    <tr><td class="paramname">margin</td><td>Read margin choice </td></tr>
    <tr><td class="paramname">failedAddress</td><td>Pointer to returned failing address. </td></tr>
    <tr><td class="paramname">failedData</td><td>Pointer to returned failing data. Some derivitives do not included failed data as part of the FCCOBx registers. In this case, zeros are returned upon failure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2aacee5186bbe9db2e091dc5c36531cd7c">kStatus_FLASH_Success</a></td><td>Api was executed successfully. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a85c375f1213ec36dd2cf60e8d9851867">kStatus_FLASH_InvalidArgument</a></td><td>Invalid argument is provided. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a098148af25679d78133103cace7580ea">kStatus_FLASH_AlignmentError</a></td><td>Parameter is not aligned with specified baseline. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2acc367a368270606eae83264f59b55211">kStatus_FLASH_AddressError</a></td><td>Address is out of range. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a87d744021836148574383ddcae44db32">kStatus_FLASH_ExecuteInRamFunctionNotReady</a></td><td>Execute-in-ram function is not available. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab9e32512512c1ea1508bc2832f2bd528">kStatus_FLASH_AccessError</a></td><td>Invalid instruction codes and out-of bounds addresses. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2ab406157d740ab0a07df1fc5d2b159fc3">kStatus_FLASH_ProtectionViolation</a></td><td>The program/erase operation is requested to execute on protected areas. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__flash__driver__api.html#ggaa4639fd4d4503c0dec9925f749d308b2a42567b719be83f23619c498da80643ed">kStatus_FLASH_CommandFailure</a></td><td>Run-time error during command execution. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Mon Mar 7 2016 16:48:24 for Kinetis Bootloader by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
